summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/bindings.el11
-rw-r--r--lisp/cus-face.el13
-rw-r--r--lisp/cus-start.el10
-rw-r--r--lisp/double.el5
-rw-r--r--lisp/ebuff-menu.el2
-rw-r--r--lisp/echistory.el2
-rw-r--r--lisp/edmacro.el4
-rw-r--r--lisp/emulation/cua-base.el6
-rw-r--r--lisp/env.el208
-rw-r--r--lisp/faces.el96
-rw-r--r--lisp/files.el19
-rw-r--r--lisp/font-lock.el4
-rw-r--r--lisp/frame.el185
-rw-r--r--lisp/help-fns.el32
-rw-r--r--lisp/international/encoded-kb.el110
-rw-r--r--lisp/international/mule-cmds.el106
-rw-r--r--lisp/international/mule.el37
-rw-r--r--lisp/isearch.el4
-rw-r--r--lisp/ldefs-boot.el1918
-rw-r--r--lisp/loadup.el10
-rw-r--r--lisp/progmodes/ebrowse.el4
-rw-r--r--lisp/server.el864
-rw-r--r--lisp/simple.el205
-rw-r--r--lisp/startup.el176
-rw-r--r--lisp/subr.el14
-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.el28
-rw-r--r--lisp/term/iris-ansi.el387
-rw-r--r--lisp/term/linux.el5
-rw-r--r--lisp/term/lk201.el143
-rw-r--r--lisp/term/mac-win.el28
-rw-r--r--lisp/term/news.el2
-rw-r--r--lisp/term/rxvt.el253
-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.el453
-rw-r--r--lisp/termdev.el195
-rw-r--r--lisp/version.el7
-rw-r--r--lisp/x-dnd.el5
-rw-r--r--lisp/xt-mouse.el59
55 files changed, 3544 insertions, 2575 deletions
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 7e9467b19c5..a978300fee7 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -170,6 +170,14 @@ corresponding to the mode line clicked."
(push (cons eol (cons mnemonic desc)) mode-line-eol-desc-cache)
desc)))
+(defvar mode-line-client
+ `(""
+ (:propertize ("" (:eval (if (frame-parameter nil 'client) "@" "")))
+ help-echo "Emacsclient frame"
+ local-map ,mode-line-input-method-map
+ mouse-face mode-line-highlight))
+ "Mode-line control for identifying Emacsclient frames.")
+
(defvar mode-line-mule-info
`(""
(current-input-method
@@ -217,7 +225,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 "\
@@ -294,6 +302,7 @@ Keymap to display on minor modes.")
"%e"
(propertize "-" 'help-echo help-echo)
'mode-line-mule-info
+ 'mode-line-client
'mode-line-modified
'mode-line-frame-identification
'mode-line-buffer-identification
diff --git a/lisp/cus-face.el b/lisp/cus-face.el
index 66713c28661..3e4e32ecc97 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 mac))
- (make-face-x-resource-internal face))))
+ (face-spec-set face value frame)
+ (when (memq (window-system frame) '(x w32 mac))
+ (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 431a8866de3..30af30045f8 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -396,14 +396,10 @@ since it could result in memory overflow and make Emacs crash."
(eq system-type 'ms-dos))
((string-match "\\`w32-" (symbol-name symbol))
(eq system-type 'windows-nt))
- ((string-match "\\`mac-" (symbol-name symbol))
- (eq window-system 'mac))
+ ((string-match "\\`mac-" (symbol-name symbol))
+ (or (eq system-type 'mac) (eq system-type 'darwin)))
((string-match "\\`x-.*gtk" (symbol-name symbol))
- (or (boundp 'gtk)
- (and window-system
- (not (eq window-system 'pc))
- (not (eq window-system 'mac))
- (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/ebuff-menu.el b/lisp/ebuff-menu.el
index 2ee90192ea3..61895db4308 100644
--- a/lisp/ebuff-menu.el
+++ b/lisp/ebuff-menu.el
@@ -175,7 +175,7 @@ Entry to this mode via command `electric-buffer-list' calls the value of
(let ((map (make-keymap)))
(fillarray (car (cdr map)) 'Electric-buffer-menu-undefined)
(define-key map "\e" nil)
- (define-key map "\C-z" 'suspend-emacs)
+ (define-key map "\C-z" 'suspend-frame)
(define-key map "v" 'Electric-buffer-menu-mode-view-buffer)
(define-key map (char-to-string help-char) 'Helper-help)
(define-key map "?" 'Helper-describe-bindings)
diff --git a/lisp/echistory.el b/lisp/echistory.el
index 6556680f5ca..a8ec7632c41 100644
--- a/lisp/echistory.el
+++ b/lisp/echistory.el
@@ -65,7 +65,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing."
(define-key electric-history-map "\C-c" nil)
(define-key electric-history-map "\C-c\C-c" 'Electric-history-quit)
(define-key electric-history-map "\C-]" 'Electric-history-quit)
- (define-key electric-history-map "\C-z" 'suspend-emacs)
+ (define-key electric-history-map "\C-z" 'suspend-frame)
(define-key electric-history-map (char-to-string help-char) 'Helper-help)
(define-key electric-history-map "?" 'Helper-describe-bindings)
(define-key electric-history-map "\e>" 'end-of-buffer)
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index 05df7f6ac39..68de4404cb8 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -489,9 +489,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 local-function-key-map rest-mac))
(setq tlen fkey tkey (edmacro-subseq rest-mac 0 tlen)
- fkey (lookup-key function-key-map tkey))
+ fkey (lookup-key local-function-key-map 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 fd5249fed1a..26d94e99e88 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)
+ local-function-key-map
+ (let ((ev (lookup-key local-function-key-map
(this-single-command-raw-keys))))
(and (vector ev)
(symbolp (setq ev (aref ev 0)))
diff --git a/lisp/env.el b/lisp/env.el
index 409765f5ff4..54bd0cdfb33 100644
--- a/lisp/env.el
+++ b/lisp/env.el
@@ -36,6 +36,8 @@
;;; Code:
+(eval-when-compile (require 'cl))
+
;; History list for environment variable names.
(defvar read-envvar-name-history nil)
@@ -52,7 +54,9 @@ If it is also not t, RET does not exit if it does non-null completion."
locale-coding-system t)
(substring enventry 0
(string-match "=" enventry)))))
- process-environment)
+ (append process-environment
+ (frame-parameter (frame-with-environment) 'environment)
+ global-environment))
nil mustmatch nil 'read-envvar-name-history))
;; History list for VALUE argument to setenv.
@@ -88,24 +92,36 @@ Use `$$' to insert a single dollar sign."
start (+ (match-beginning 0) 1)))))
string))
-;; Fixme: Should `process-environment' be recoded if LC_CTYPE &c is set?
+;; Fixme: Should the environment be recoded if LC_CTYPE &c is set?
-(defun setenv (variable &optional value unset substitute-env-vars)
+(defun setenv (variable &optional value unset substitute-env-vars frame)
"Set the value of the environment variable named VARIABLE to VALUE.
VARIABLE should be a string. VALUE is optional; if not provided or
-nil, the environment variable VARIABLE will be removed. UNSET
-if non-nil means to remove VARIABLE from the environment.
+nil, the environment variable VARIABLE will be removed.
+UNSET if non-nil means to remove VARIABLE from the environment.
SUBSTITUTE-ENV-VARS, if non-nil, means to substitute environment
variables in VALUE with `substitute-env-vars', where see.
Value is the new value if VARIABLE, or nil if removed from the
environment.
-Interactively, a prefix argument means to unset the variable.
-Interactively, the current value (if any) of the variable
-appears at the front of the history list when you type in the new value.
-Interactively, always replace environment variables in the new value.
+Interactively, a prefix argument means to unset the variable, and
+otherwise the current value (if any) of the variable appears at
+the front of the history list when you type in the new value.
+This function always replaces environment variables in the new
+value when called interactively.
+
+If VARIABLE is set in `process-environment', then this function
+modifies its value there. Otherwise, this function works by
+modifying either `global-environment' or the environment
+belonging to the selected frame, depending on the value of
+`local-environment-variables'.
-This function works by modifying `process-environment'.
+If optional parameter FRAME is non-nil, then it should be a a
+frame. If the specified frame has its own set of environment
+variables, this function will modify VARIABLE in it. Note that
+frames on the same terminal device usually share their
+environment, so calling `setenv' on one of them affects the
+others as well.
As a special case, setting variable `TZ' calls `set-time-zone-rule' as
a side-effect."
@@ -138,36 +154,73 @@ a side-effect."
(if (and value (multibyte-string-p value))
(setq value (encode-coding-string value locale-coding-system)))
(if (string-match "=" variable)
- (error "Environment variable name `%s' contains `='" variable)
- (let ((pattern (concat "\\`" (regexp-quote (concat variable "="))))
- (case-fold-search nil)
- (scan process-environment)
- found)
- (if (string-equal "TZ" variable)
- (set-time-zone-rule value))
- (while scan
- (cond ((string-match pattern (car scan))
- (setq found t)
- (if (eq nil value)
- (setq process-environment (delq (car scan)
- process-environment))
- (setcar scan (concat variable "=" value)))
- (setq scan nil)))
- (setq scan (cdr scan)))
- (or found
+ (error "Environment variable name `%s' contains `='" variable))
+ (let ((pattern (concat "\\`" (regexp-quote variable) "\\(=\\|\\'\\)"))
+ (case-fold-search nil)
+ (frame-env (frame-parameter (frame-with-environment frame) 'environment))
+ (frame-forced (not frame))
+ (scan process-environment)
+ found)
+ (setq frame (frame-with-environment frame))
+ (if (string-equal "TZ" variable)
+ (set-time-zone-rule value))
+ (block nil
+ ;; Look for an existing entry for VARIABLE; try `process-environment' first.
+ (while (and scan (stringp (car scan)))
+ (when (string-match pattern (car scan))
(if value
- (setq process-environment
+ (setcar scan (concat variable "=" value))
+ ;; Leave unset variables in `process-environment',
+ ;; otherwise the overridden value in `global-environment'
+ ;; or frame-env would become unmasked.
+ (setcar scan variable))
+ (return value))
+ (setq scan (cdr scan)))
+
+ ;; Look in the local or global environment, whichever is relevant.
+ (let ((local-var-p (and frame-env
+ (or frame-forced
+ (eq t local-environment-variables)
+ (member variable local-environment-variables)))))
+ (setq scan (if local-var-p
+ frame-env
+ global-environment))
+ (while scan
+ (when (string-match pattern (car scan))
+ (if value
+ (setcar scan (concat variable "=" value))
+ (if local-var-p
+ (set-frame-parameter frame 'environment
+ (delq (car scan) frame-env))
+ (setq global-environment (delq (car scan) global-environment))))
+ (return value))
+ (setq scan (cdr scan)))
+
+ ;; VARIABLE is not in any environment list.
+ (if value
+ (if local-var-p
+ (set-frame-parameter frame 'environment
+ (cons (concat variable "=" value)
+ frame-env))
+ (setq global-environment
(cons (concat variable "=" value)
- process-environment))))))
- value)
+ global-environment))))
+ (return value)))))
-(defun getenv (variable)
+(defun getenv (variable &optional frame)
"Get the value of environment variable VARIABLE.
VARIABLE should be a string. Value is nil if VARIABLE is undefined in
the environment. Otherwise, value is a string.
-This function consults the variable `process-environment'
-for its value."
+If optional parameter FRAME is non-nil, then it should be a
+frame. If that frame has its own set of environment variables,
+this function will look up VARIABLE in there.
+
+Otherwise, this function searches `process-environment' for
+VARIABLE. If it is not found there, then it continues the
+search in either `global-environment' or the environment list of
+the selected frame, depending on the value of
+`local-environment-variables'."
(interactive (list (read-envvar-name "Get environment variable: " t)))
(let ((value (getenv-internal (if (multibyte-string-p variable)
(encode-coding-string
@@ -179,6 +232,95 @@ for its value."
(message "%s" (if value value "Not set")))
value))
+(defun environment ()
+ "Return a list of environment variables with their values.
+Each entry in the list is a string of the form NAME=VALUE.
+
+The returned list can not be used to change environment
+variables, only read them. See `setenv' to do that.
+
+The list is constructed from elements of `process-environment',
+`global-environment' and the local environment list of the
+selected frame, as specified by `local-environment-variables'.
+
+Non-ASCII characters are encoded according to the initial value of
+`locale-coding-system', i.e. the elements must normally be decoded for use.
+See `setenv' and `getenv'."
+ (let ((env (let ((local-env (frame-parameter (frame-with-environment)
+ 'environment)))
+ (cond ((or (not local-environment-variables)
+ (not local-env))
+ (append process-environment global-environment nil))
+ ((consp local-environment-variables)
+ (let ((e (reverse process-environment)))
+ (dolist (entry local-environment-variables)
+ (setq e (cons (getenv entry) e)))
+ (append (nreverse e) global-environment nil)))
+ (t
+ (append process-environment local-env nil)))))
+ scan seen)
+ ;; Find the first valid entry in env.
+ (while (and env (stringp (car env))
+ (or (not (string-match "=" (car env)))
+ (member (substring (car env) 0 (string-match "=" (car env))) seen)))
+ (setq seen (cons (car env) seen)
+ env (cdr env)))
+ (setq scan env)
+ (while (and (cdr scan) (stringp (cadr scan)))
+ (let* ((match (string-match "=" (cadr scan)))
+ (name (substring (cadr scan) 0 match)))
+ (cond ((not match)
+ ;; Unset variable.
+ (setq seen (cons name seen))
+ (setcdr scan (cddr scan)))
+ ((member name seen)
+ ;; Duplicate variable.
+ (setcdr scan (cddr scan)))
+ (t
+ ;; New variable.
+ (setq seen (cons name seen)
+ scan (cdr scan))))))
+ env))
+
+(defmacro let-environment (varlist &rest body)
+ "Evaluate BODY with environment variables set according to VARLIST.
+The environment variables are then restored to their previous
+values.
+The value of the last form in BODY is returned.
+
+Each element of VARLIST is either a string (which variable is
+then removed from the environment), or a list (NAME
+VALUEFORM) (which sets NAME to the value of VALUEFORM, a string).
+All the VALUEFORMs are evaluated before any variables are set."
+ (declare (indent 2))
+ (let ((old-env (make-symbol "old-env"))
+ (name (make-symbol "name"))
+ (value (make-symbol "value"))
+ (entry (make-symbol "entry"))
+ (frame (make-symbol "frame")))
+ `(let ((,frame (selected-frame))
+ ,old-env)
+ ;; Evaluate VALUEFORMs and replace them in VARLIST with their values.
+ (dolist (,entry ,varlist)
+ (unless (stringp ,entry)
+ (if (cdr (cdr ,entry))
+ (error "`let-environment' bindings can have only one value-form"))
+ (setcdr ,entry (eval (cadr ,entry)))))
+ ;; Set the variables.
+ (dolist (,entry ,varlist)
+ (let ((,name (if (stringp ,entry) ,entry (car ,entry)))
+ (,value (if (consp ,entry) (cdr ,entry))))
+ (setq ,old-env (cons (cons ,name (getenv ,name)) ,old-env))
+ (setenv ,name ,value)))
+ (unwind-protect
+ (progn ,@body)
+ ;; Restore old values.
+ (with-selected-frame (if (frame-live-p ,frame)
+ ,frame
+ (selected-frame))
+ (dolist (,entry ,old-env)
+ (setenv (car ,entry) (cdr ,entry))))))))
+
(provide 'env)
;;; arch-tag: b7d6a8f7-bc81-46db-8e39-8d721d4ed0b8
diff --git a/lisp/faces.el b/lisp/faces.el
index 013ca673e19..a5482f565f2 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -934,7 +934,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.
@@ -943,7 +943,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))
@@ -956,7 +956,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)
@@ -1074,7 +1074,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"))))
@@ -1369,14 +1369,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))
@@ -1589,35 +1589,38 @@ variable with `setq'; this won't have the expected effect."
(const light)
(const :tag "automatic" 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
@@ -1626,7 +1629,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)
@@ -1723,16 +1726,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)))
@@ -1761,7 +1770,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)))
@@ -1812,15 +1821,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 0522f47f15f..5c2887dc03a 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2434,6 +2434,7 @@ is specified, returning t if it is specified."
(put 'mode-line-format 'risky-local-variable t)
(put 'mode-line-modified 'risky-local-variable t)
(put 'mode-line-mule-info 'risky-local-variable t)
+(put 'mode-line-client 'risky-local-variable t)
(put 'mode-line-buffer-identification 'risky-local-variable t)
(put 'mode-line-modes 'risky-local-variable t)
(put 'mode-line-position 'risky-local-variable t)
@@ -4878,6 +4879,22 @@ With prefix arg, silently save all file-visiting buffers, then kill."
(or (null confirm-kill-emacs)
(funcall confirm-kill-emacs "Really exit Emacs? "))
(kill-emacs)))
+
+(defun save-buffers-kill-terminal (&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 (null proc)
+ (save-buffers-kill-emacs)
+ (server-save-buffers-kill-terminal proc arg))))
+
;; We use /: as a prefix to "quote" a file name
;; so that magic file name handlers will not apply to it.
@@ -4975,7 +4992,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" 'save-buffers-kill-terminal)
(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 c05de2bc0b5..7819a0e81cc 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -2002,7 +2002,7 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item."
`(;; Control structures. Emacs Lisp forms.
(,(concat
"(" (regexp-opt
- '("cond" "if" "while" "while-no-input" "let" "let*"
+ '("cond" "if" "while" "while-no-input" "let" "let*" "let-environment"
"prog" "progn" "progv" "prog1" "prog2" "prog*"
"inline" "lambda" "save-restriction" "save-excursion"
"save-window-excursion" "save-selected-window"
@@ -2014,7 +2014,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 34f96a309a2..541d1c364d6 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,28 @@ 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 (tty type &optional parameters)
+ "Make a frame on terminal device TTY.
+TTY should be the file name of the tty device to use. TYPE
+should be the terminal type string of TTY, for example \"xterm\"
+or \"vt100\". The optional third argument PARAMETERS specifies
+additional frame parameters."
+ (interactive "fOpen frame on tty device: \nsTerminal type of %s: ")
+ (unless tty
+ (error "Invalid terminal device"))
+ (unless type
+ (error "Invalid terminal type"))
+ (make-frame `((window-system . nil) (tty . ,tty) (tty-type . ,type) . ,parameters)))
(defun make-frame-command ()
"Make a new frame, and select it if the terminal displays only one frame."
@@ -611,7 +648,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.
+
+ (terminal . ID) The frame should use the terminal 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 +663,34 @@ 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 'terminal parameters)
+ (let ((type (terminal-live-p (cdr (assq 'terminal parameters)))))
+ (cond
+ ((eq type t) nil)
+ ((eq type nil) (error "Terminal %s does not exist" (cdr (assq 'terminal 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)))
+ (oldframe (selected-frame))
+ 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)))))
+ (normal-erase-is-backspace-setup-frame frame)
+ ;; Inherit the 'environment and 'client parameters, if needed.
+ (when (eq (frame-terminal frame) (frame-terminal oldframe))
+ (let ((env (frame-parameter oldframe 'environment))
+ (client (frame-parameter oldframe 'client)))
+ (if (not (framep env))
+ (setq env oldframe))
+ (if (and env (not (assq 'environment parameters)))
+ (set-frame-parameter frame 'environment env))
+ (if (and client (not (assq 'client parameters)))
+ (set-frame-parameter frame 'client client))))
(run-hook-with-args 'after-make-frame-functions frame)
frame))
@@ -642,23 +710,29 @@ setup is for focus to follow the pointer."
(function (lambda (frame)
(eq frame (window-frame (minibuffer-window frame)))))))
-(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.
-If DISPLAY is omitted or nil, it defaults to the selected frame's display."
- (let* ((display (or display (frame-parameter nil 'display)))
+(defun frames-on-display-list (&optional terminal)
+ "Return a list of all frames on TERMINAL.
+
+TERMINAL should be a terminal identifier (an integer), a frame,
+or a name of an X display (a string of the form
+HOST:SERVER.SCREEN).
+
+If TERMINAL is omitted or nil, it defaults to the selected
+frame's terminal device."
+ (let* ((terminal (terminal-id terminal))
(func #'(lambda (frame)
- (equal (frame-parameter frame 'display) display))))
+ (eq (frame-terminal frame) terminal))))
(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.
-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)
- (framep (car (frames-on-display-list display)))))
+(defun framep-on-display (&optional terminal)
+ "Return the type of frames on TERMINAL.
+TERMINAL may be a terminal id, a display name or a frame. If it
+is a frame, its type is returned. If TERMINAL is omitted or nil,
+it defaults to the selected frame's terminal device. All frames
+on a given display are of the same type."
+ (or (terminal-live-p terminal)
+ (framep terminal)
+ (framep (car (frames-on-display-list terminal)))))
(defun frame-remove-geometry-params (param-list)
"Return the parameter list PARAM-LIST, but with geometry specs removed.
@@ -695,9 +769,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 +808,21 @@ 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 tty device,
+`suspend-tty' from a secondary tty device, 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 (controlling-tty-p)
+ (suspend-emacs)
+ (suspend-tty)))
+ (t (suspend-emacs)))))
+
(defun make-frame-names-alist ()
(let* ((current-frame (selected-frame))
(falist
@@ -767,9 +856,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))))
@@ -982,6 +1071,10 @@ bars (top, bottom, or nil)."
(cons vert hor)))
;;;; Frame/display capabilities.
+(defun selected-terminal ()
+ "Return the terminal that is now selected."
+ (frame-terminal (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
@@ -1133,7 +1226,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 +1356,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 mac)))))
+ (not (memq initial-window-system '(x w32 mac)))))
:initialize 'custom-initialize-safe-default
:group 'cursor
:global t
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 78c156fa410..6bc41e7b947 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -484,10 +484,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))
@@ -506,14 +507,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)
@@ -574,11 +580,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..160dd8a8d68 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,47 @@ 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 local-key-translation-map))
+ (if (equal (keymap-prompt m) "encoded-kb")
+ (setq local-key-translation-map (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 local-key-translation-map)
+ (setq local-key-translation-map keymap)
+ (unless (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)
+ (set-terminal-parameter nil 'encoded-kbd-saved-input-mode (nth 2 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-meta-mode 'use-8th-bit))
+ (set-terminal-parameter nil 'encoded-kbd-saved-input-meta-mode nil)
+ (error "Unsupported coding system in Encoded-kbd mode: %S"
+ coding)))
+ ;; We are turning off Encoded-kbd mode.
+ (when (and (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)
+ (not (equal (nth 2 (current-input-mode))
+ (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode))))
+ (set-input-meta-mode (terminal-parameter nil 'encoded-kbd-saved-input-meta-mode)))
+ (set-terminal-parameter nil 'saved-input-meta-mode nil))))))
(provide 'encoded-kb)
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 7756aa58ccd..575653e8f5a 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]
@@ -1795,7 +1795,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 (and coding
@@ -1811,7 +1811,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.
@@ -2406,7 +2406,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.
@@ -2427,6 +2427,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: ")
@@ -2455,7 +2460,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 (getenv (pop vars) display)))))
(unless locale
;; The two tests are kept separate so the byte-compiler sees
@@ -2518,28 +2523,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)
@@ -2551,9 +2562,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
@@ -2562,38 +2573,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 (getenv "TERM_PROGRAM" display) "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 (getenv (pop vars) display))))
+ (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 cd26cd2f73f..e708ed4b3f0 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -1211,13 +1211,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)
@@ -1231,7 +1235,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
@@ -1239,14 +1243,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)
@@ -1263,9 +1270,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.
@@ -1281,8 +1288,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 846d749f2f0..8f28e13804b 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1655,7 +1655,7 @@ Isearch mode."
(keylist (listify-key-sequence key))
scroll-command isearch-point)
(cond ((and (= (length key) 1)
- (let ((lookup (lookup-key function-key-map key)))
+ (let ((lookup (lookup-key local-function-key-map key)))
(not (or (null lookup) (integerp lookup)
(keymapp lookup)))))
;; Handle a function key that translates into something else.
@@ -1669,7 +1669,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 local-function-key-map 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 c9a14cd38c9..5db870e013c 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" (17140 20945))
+;;;;;; "play/5x5.el" (17187 59902))
;;; 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"
-;;;;;; (17205 6157))
+;;;;;; (17277 60154))
;;; 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"
-;;;;;; (17140 20951))
+;;;;;; (17187 59902))
;;; 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"
-;;;;;; (17205 6160))
+;;;;;; (17226 24577))
;;; 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" (17244 43726))
+;;;;;; "add-log.el" (17277 60153))
;;; 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" (17245
-;;;;;; 4869))
+;;;;;; ad-redefinition-action) "advice" "emacs-lisp/advice.el" (17257
+;;;;;; 22482))
;;; 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" (17148 24935))
+;;;;;; align) "align" "align.el" (17187 59901))
;;; Generated autoloads from align.el
(autoload (quote align) "align" "\
@@ -478,7 +478,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
;;;***
;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el"
-;;;;;; (17243 21661))
+;;;;;; (17257 22482))
;;; Generated autoloads from allout.el
(autoload (quote allout-mode) "allout" "\
@@ -694,7 +694,7 @@ setup for auto-startup.
;;;***
;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;; "net/ange-ftp.el" (17244 43756))
+;;;;;; "net/ange-ftp.el" (17257 22483))
;;; Generated autoloads from net/ange-ftp.el
(defalias (quote ange-ftp-re-read-dir) (quote ange-ftp-reread-dir))
@@ -716,7 +716,7 @@ Not documented
;;;***
;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;; "animate" "play/animate.el" (17239 32364))
+;;;;;; "animate" "play/animate.el" (17226 24576))
;;; Generated autoloads from play/animate.el
(autoload (quote animate-string) "animate" "\
@@ -744,7 +744,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" (17185 27398))
+;;;;;; "ansi-color" "ansi-color.el" (17187 59901))
;;; Generated autoloads from ansi-color.el
(autoload (quote ansi-color-for-comint-mode-on) "ansi-color" "\
@@ -770,7 +770,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" (17205 20021))
+;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17187 59902))
;;; Generated autoloads from progmodes/antlr-mode.el
(autoload (quote antlr-show-makefile-rules) "antlr-mode" "\
@@ -809,7 +809,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" (17239 32265))
+;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17229 28052))
;;; Generated autoloads from calendar/appt.el
(defvar appt-issue-message t "\
@@ -896,28 +896,51 @@ ARG is positive, otherwise off.
;;;***
;;;### (autoloads (apropos-documentation apropos-value apropos apropos-documentation-property
-;;;;;; apropos-command apropos-variable) "apropos" "apropos.el"
-;;;;;; (17205 5977))
+;;;;;; apropos-command apropos-variable apropos-read-pattern) "apropos"
+;;;;;; "apropos.el" (17277 59649))
;;; Generated autoloads from apropos.el
+(autoload (quote apropos-read-pattern) "apropos" "\
+Read an apropos pattern, either a word list or a regexp.
+Returns the user pattern, either a list of words which are matched
+literally, or a string which is used as a regexp to search for.
+
+SUBJECT is a string that is included in the prompt to identify what
+kind of objects to search.
+
+\(fn SUBJECT)" nil nil)
+
(autoload (quote apropos-variable) "apropos" "\
-Show user variables that match REGEXP.
-With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also show
+Show user variables that match PATTERN.
+PATTERN can be a word, a list of words (separated by spaces),
+or a regexp (using some regexp special characters). If it is a word,
+search for matches for that word as a substring. If it is a list of words,
+search for matches for any two (or more) of those words.
+
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
normal variables.
-\(fn REGEXP &optional DO-ALL)" t nil)
+\(fn PATTERN &optional DO-ALL)" t nil)
(defalias (quote command-apropos) (quote apropos-command))
(autoload (quote apropos-command) "apropos" "\
-Show commands (interactively callable functions) that match APROPOS-REGEXP.
-With optional prefix DO-ALL, or if `apropos-do-all' is non-nil, also show
+Show commands (interactively callable functions) that match PATTERN.
+PATTERN can be a word, a list of words (separated by spaces),
+or a regexp (using some regexp special characters). If it is a word,
+search for matches for that word as a substring. If it is a list of words,
+search for matches for any two (or more) of those words.
+
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
noninteractive functions.
If VAR-PREDICATE is non-nil, show only variables, and only those that
satisfy the predicate VAR-PREDICATE.
-\(fn APROPOS-REGEXP &optional DO-ALL VAR-PREDICATE)" t nil)
+When called from a Lisp program, a string PATTERN is used as a regexp,
+while a list of strings is used as a word list.
+
+\(fn PATTERN &optional DO-ALL VAR-PREDICATE)" t nil)
(autoload (quote apropos-documentation-property) "apropos" "\
Like (documentation-property SYMBOL PROPERTY RAW) but handle errors.
@@ -925,34 +948,49 @@ Like (documentation-property SYMBOL PROPERTY RAW) but handle errors.
\(fn SYMBOL PROPERTY RAW)" nil nil)
(autoload (quote apropos) "apropos" "\
-Show all bound symbols whose names match APROPOS-REGEXP.
-With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also
+Show all bound symbols whose names match PATTERN.
+PATTERN can be a word, a list of words (separated by spaces),
+or a regexp (using some regexp special characters). If it is a word,
+search for matches for that word as a substring. If it is a list of words,
+search for matches for any two (or more) of those words.
+
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also
show unbound symbols and key bindings, which is a little more
time-consuming. Returns list of symbols and documentation found.
-\(fn APROPOS-REGEXP &optional DO-ALL)" t nil)
+\(fn PATTERN &optional DO-ALL)" t nil)
(autoload (quote apropos-value) "apropos" "\
-Show all symbols whose value's printed image matches APROPOS-REGEXP.
-With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also looks
+Show all symbols whose value's printed image matches PATTERN.
+PATTERN can be a word, a list of words (separated by spaces),
+or a regexp (using some regexp special characters). If it is a word,
+search for matches for that word as a substring. If it is a list of words,
+search for matches for any two (or more) of those words.
+
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also looks
at the function and at the names and values of properties.
Returns list of symbols and values found.
-\(fn APROPOS-REGEXP &optional DO-ALL)" t nil)
+\(fn PATTERN &optional DO-ALL)" t nil)
(autoload (quote apropos-documentation) "apropos" "\
-Show symbols whose documentation contain matches for APROPOS-REGEXP.
-With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also use
+Show symbols whose documentation contain matches for PATTERN.
+PATTERN can be a word, a list of words (separated by spaces),
+or a regexp (using some regexp special characters). If it is a word,
+search for matches for that word as a substring. If it is a list of words,
+search for matches for any two (or more) of those words.
+
+With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also use
documentation that is not stored in the documentation file and show key
bindings.
Returns list of symbols and documentation found.
-\(fn APROPOS-REGEXP &optional DO-ALL)" t nil)
+\(fn PATTERN &optional DO-ALL)" t nil)
;;;***
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17239
-;;;;;; 32182))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17238
+;;;;;; 21257))
;;; Generated autoloads from arc-mode.el
(autoload (quote archive-mode) "arc-mode" "\
@@ -972,7 +1010,7 @@ archive.
;;;***
-;;;### (autoloads (array-mode) "array" "array.el" (17148 24939))
+;;;### (autoloads (array-mode) "array" "array.el" (17187 59901))
;;; Generated autoloads from array.el
(autoload (quote array-mode) "array" "\
@@ -1043,8 +1081,8 @@ Entering array mode calls the function `array-mode-hook'.
;;;***
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17239
-;;;;;; 32406))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17229
+;;;;;; 28057))
;;; Generated autoloads from textmodes/artist.el
(autoload (quote artist-mode) "artist" "\
@@ -1249,8 +1287,8 @@ Keymap summary
;;;***
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17140
-;;;;;; 20953))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/asm-mode.el
(autoload (quote asm-mode) "asm-mode" "\
@@ -1278,7 +1316,7 @@ Special commands:
;;;***
;;;### (autoloads (auto-show-mode auto-show-mode) "auto-show" "obsolete/auto-show.el"
-;;;;;; (17075 55468))
+;;;;;; (17187 59881))
;;; Generated autoloads from obsolete/auto-show.el
(defvar auto-show-mode nil "\
@@ -1294,7 +1332,7 @@ This command is obsolete.
;;;***
;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;; (17148 24940))
+;;;;;; (17187 59901))
;;; Generated autoloads from autoarg.el
(defvar autoarg-mode nil "\
@@ -1351,7 +1389,7 @@ This is similar to \\[autoarg-mode] but rebinds the keypad keys `kp-1'
;;;***
;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;; (17185 27619))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/autoconf.el
(autoload (quote autoconf-mode) "autoconf" "\
@@ -1362,7 +1400,7 @@ Major mode for editing Autoconf configure.in files.
;;;***
;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;; "autoinsert" "autoinsert.el" (17148 24940))
+;;;;;; "autoinsert" "autoinsert.el" (17187 59901))
;;; Generated autoloads from autoinsert.el
(autoload (quote auto-insert) "autoinsert" "\
@@ -1402,7 +1440,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"
-;;;;;; (17239 32274))
+;;;;;; (17277 59649))
;;; Generated autoloads from emacs-lisp/autoload.el
(autoload (quote update-file-autoloads) "autoload" "\
@@ -1437,7 +1475,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" (17148 24940))
+;;;;;; "autorevert" "autorevert.el" (17187 59901))
;;; Generated autoloads from autorevert.el
(autoload (quote auto-revert-mode) "autorevert" "\
@@ -1507,7 +1545,7 @@ Use `auto-revert-mode' to revert a particular buffer.
;;;***
;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;; "avoid.el" (17148 24940))
+;;;;;; "avoid.el" (17187 59901))
;;; Generated autoloads from avoid.el
(defvar mouse-avoidance-mode nil "\
@@ -1548,7 +1586,7 @@ definition of \"random distance\".)
;;;***
;;;### (autoloads (backquote) "backquote" "emacs-lisp/backquote.el"
-;;;;;; (17148 25082))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/backquote.el
(autoload (quote backquote) "backquote" "\
@@ -1573,7 +1611,7 @@ Vectors work just like lists. Nested backquotes are permitted.
;;;***
;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;; (17148 24941))
+;;;;;; (17187 59901))
;;; Generated autoloads from battery.el
(put 'battery-mode-line-string 'risky-local-variable t)
@@ -1606,7 +1644,7 @@ seconds.
;;;***
;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17148 25082))
+;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/benchmark.el
(autoload (quote benchmark-run) "benchmark" "\
@@ -1638,8 +1676,8 @@ non-interactive use see also `benchmark-run' and
;;;***
-;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17239
-;;;;;; 32408))
+;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17238
+;;;;;; 21257))
;;; Generated autoloads from textmodes/bibtex.el
(autoload (quote bibtex-mode) "bibtex" "\
@@ -1701,7 +1739,7 @@ if that value is non-nil.
;;;### (autoloads (binhex-decode-region binhex-decode-region-external
;;;;;; binhex-decode-region-internal) "binhex" "gnus/binhex.el"
-;;;;;; (17148 25105))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/binhex.el
(defconst binhex-begin-line "^:...............................................................$")
@@ -1724,8 +1762,8 @@ Binhex decode region between START and END.
;;;***
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17246
-;;;;;; 24773))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17257
+;;;;;; 22483))
;;; Generated autoloads from play/blackbox.el
(autoload (quote blackbox) "blackbox" "\
@@ -1847,7 +1885,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" (17239 32184))
+;;;;;; bookmark-set) "bookmark" "bookmark.el" (17277 59649))
;;; Generated autoloads from bookmark.el
(define-key ctl-x-map "rb" 'bookmark-jump)
(define-key ctl-x-map "rm" 'bookmark-set)
@@ -2037,7 +2075,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" (17246 15074))
+;;;;;; "browse-url" "net/browse-url.el" (17257 22483))
;;; 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))) "\
@@ -2368,8 +2406,8 @@ Default to the URL around or before point.
;;;***
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17140
-;;;;;; 20945))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from play/bruce.el
(autoload (quote bruce) "bruce" "\
@@ -2385,7 +2423,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" (17185 27401))
+;;;;;; "bs" "bs.el" (17187 59901))
;;; Generated autoloads from bs.el
(autoload (quote bs-cycle-next) "bs" "\
@@ -2426,8 +2464,8 @@ name of buffer configuration.
;;;***
;;;### (autoloads (insert-text-button make-text-button insert-button
-;;;;;; make-button define-button-type) "button" "button.el" (17148
-;;;;;; 24943))
+;;;;;; make-button define-button-type) "button" "button.el" (17187
+;;;;;; 59901))
;;; 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) "\
@@ -2515,7 +2553,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"
-;;;;;; (17243 21661))
+;;;;;; (17257 22482))
;;; Generated autoloads from emacs-lisp/bytecomp.el
(autoload (quote byte-force-recompile) "bytecomp" "\
@@ -2607,7 +2645,7 @@ For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.
;;;***
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17102 18464))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17187 59880))
;;; Generated autoloads from calendar/cal-dst.el
(put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t)
@@ -2617,7 +2655,7 @@ For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.
;;;***
;;;### (autoloads (list-yahrzeit-dates) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;; (17167 2790))
+;;;;;; (17187 59901))
;;; Generated autoloads from calendar/cal-hebrew.el
(autoload (quote list-yahrzeit-dates) "cal-hebrew" "\
@@ -2632,7 +2670,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"
-;;;;;; (17239 32263))
+;;;;;; (17277 59649))
;;; Generated autoloads from calc/calc.el
(defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\
@@ -2710,8 +2748,8 @@ Not documented
;;;***
-;;;### (autoloads (calculator) "calculator" "calculator.el" (17148
-;;;;;; 24944))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from calculator.el
(autoload (quote calculator) "calculator" "\
@@ -2739,7 +2777,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
;;;;;; view-diary-entries-initially calendar-offset) "calendar"
-;;;;;; "calendar/calendar.el" (17239 32268))
+;;;;;; "calendar/calendar.el" (17229 28052))
;;; Generated autoloads from calendar/calendar.el
(defvar calendar-offset 0 "\
@@ -3310,7 +3348,7 @@ movement commands will not work correctly.")
;;;***
;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;; "gnus/canlock.el" (17148 25106))
+;;;;;; "gnus/canlock.el" (17187 59901))
;;; Generated autoloads from gnus/canlock.el
(autoload (quote canlock-insert-header) "canlock" "\
@@ -3328,7 +3366,7 @@ it fails.
;;;***
;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;; (17148 25186))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/cc-engine.el
(autoload (quote c-guess-basic-syntax) "cc-engine" "\
@@ -3341,7 +3379,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"
-;;;;;; (17239 32368))
+;;;;;; (17226 24577))
;;; Generated autoloads from progmodes/cc-mode.el
(autoload (quote c-initialize-cc-mode) "cc-mode" "\
@@ -3499,7 +3537,7 @@ Key bindings:
;;;***
;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;; "progmodes/cc-styles.el" (17239 32369))
+;;;;;; "progmodes/cc-styles.el" (17226 24577))
;;; Generated autoloads from progmodes/cc-styles.el
(autoload (quote c-set-style) "cc-styles" "\
@@ -3556,7 +3594,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"
-;;;;;; (17102 18708))
+;;;;;; (17187 59880))
;;; Generated autoloads from international/ccl.el
(autoload (quote ccl-compile) "ccl" "\
@@ -3815,7 +3853,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
;;;***
;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el"
-;;;;;; (17140 20960))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/cfengine.el
(autoload (quote cfengine-mode) "cfengine" "\
@@ -3837,7 +3875,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"
-;;;;;; (17239 32275))
+;;;;;; (17226 24574))
;;; Generated autoloads from emacs-lisp/checkdoc.el
(autoload (quote checkdoc) "checkdoc" "\
@@ -4020,8 +4058,8 @@ checking of documentation strings.
;;;***
;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer
-;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17102
-;;;;;; 18766))
+;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17187
+;;;;;; 59881))
;;; Generated autoloads from language/china-util.el
(autoload (quote decode-hz-region) "china-util" "\
@@ -4049,7 +4087,7 @@ Encode the text in the current buffer to HZ.
;;;***
;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;; "chistory" "chistory.el" (17148 24944))
+;;;;;; "chistory" "chistory.el" (17187 59901))
;;; Generated autoloads from chistory.el
(autoload (quote repeat-matching-complex-command) "chistory" "\
@@ -4088,7 +4126,7 @@ and runs the normal hook `command-history-hook'.
;;;***
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17148 25089))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/cl.el
(defvar custom-print-functions nil "\
@@ -4104,7 +4142,7 @@ a future Emacs interpreter will be able to use it.")
;;;***
;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;; (17148 25088))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/cl-indent.el
(autoload (quote common-lisp-indent-function) "cl-indent" "\
@@ -4115,7 +4153,7 @@ Not documented
;;;***
;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;; (17205 6162))
+;;;;;; (17226 24577))
;;; Generated autoloads from progmodes/cmacexp.el
(autoload (quote c-macro-expand) "cmacexp" "\
@@ -4135,8 +4173,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
;;;***
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17148
-;;;;;; 24945))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from cmuscheme.el
(autoload (quote run-scheme) "cmuscheme" "\
@@ -4157,7 +4195,7 @@ is run).
;;;***
;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el"
-;;;;;; (17239 32320))
+;;;;;; (17226 24576))
;;; Generated autoloads from international/code-pages.el
(autoload (quote cp-make-coding-system) "code-pages" "\
@@ -4210,7 +4248,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" (17239 32321))
+;;;;;; "codepage" "international/codepage.el" (17226 24576))
;;; Generated autoloads from international/codepage.el
(autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\
@@ -4269,7 +4307,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"
-;;;;;; (17239 32187))
+;;;;;; (17277 60153))
;;; Generated autoloads from comint.el
(defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\
@@ -4359,8 +4397,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
;;;***
-;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17159
-;;;;;; 1461))
+;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from compare-w.el
(autoload (quote compare-windows) "compare-w" "\
@@ -4397,7 +4435,7 @@ on third call it again advances points to the next difference and so on.
;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
;;;;;; compile compilation-disable-input compile-command compilation-search-path
;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook)
-;;;;;; "compile" "progmodes/compile.el" (17239 32370))
+;;;;;; "compile" "progmodes/compile.el" (17263 27852))
;;; Generated autoloads from progmodes/compile.el
(defvar compilation-mode-hook nil "\
@@ -4558,7 +4596,7 @@ This is the value of `next-error-function' in Compilation buffers.
;;;***
;;;### (autoloads (partial-completion-mode) "complete" "complete.el"
-;;;;;; (17148 24947))
+;;;;;; (17187 59901))
;;; Generated autoloads from complete.el
(defvar partial-completion-mode nil "\
@@ -4595,7 +4633,7 @@ See also the variable `PC-include-file-path'.
;;;***
;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;; (17239 32188))
+;;;;;; (17226 24571))
;;; Generated autoloads from completion.el
(autoload (quote dynamic-completion-mode) "completion" "\
@@ -4608,7 +4646,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" (17120 44761))
+;;;;;; "composite" "composite.el" (17187 59901))
;;; 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))) "\
@@ -4829,7 +4867,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" (17239 32409))
+;;;;;; conf-mode) "conf-mode" "textmodes/conf-mode.el" (17263 27852))
;;; Generated autoloads from textmodes/conf-mode.el
(autoload (quote conf-mode) "conf-mode" "\
@@ -4863,7 +4901,7 @@ See also `conf-space-mode', `conf-colon-mode', `conf-javaprop-mode',
\\{conf-mode-map}
-\(fn &optional COMMENT SYNTAX-TABLE NAME)" t nil)
+\(fn)" t nil)
(autoload (quote conf-unix-mode) "conf-mode" "\
Conf Mode starter for Unix style Conf files.
@@ -4921,8 +4959,7 @@ Conf Mode starter for space separated conf files.
recognized according to `conf-space-keywords'. Interactively
with a prefix ARG of `0' no keywords will be recognized. With
any other prefix arg you will be prompted for a regexp to match
-the keywords. Programmatically you can pass such a regexp as
-KEYWORDS, or any non-nil non-string for no keywords.
+the keywords.
For details see `conf-mode'. Example:
@@ -4938,7 +4975,7 @@ class desktop
add /dev/audio desktop
add /dev/mixer desktop
-\(fn &optional KEYWORDS)" t nil)
+\(fn)" t nil)
(autoload (quote conf-colon-mode) "conf-mode" "\
Conf Mode starter for Colon files.
@@ -4950,7 +4987,7 @@ For details see `conf-mode'. Example:
<Multi_key> <exclam> <exclam> : \"\\241\" exclamdown
<Multi_key> <c> <slash> : \"\\242\" cent
-\(fn &optional COMMENT SYNTAX-TABLE NAME)" t nil)
+\(fn)" t nil)
(autoload (quote conf-ppd-mode) "conf-mode" "\
Conf Mode starter for Adobe/CUPS PPD files.
@@ -4979,7 +5016,7 @@ For details see `conf-mode'. Example:
;;;***
;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;; "cookie1" "play/cookie1.el" (17140 20945))
+;;;;;; "cookie1" "play/cookie1.el" (17187 59902))
;;; Generated autoloads from play/cookie1.el
(autoload (quote cookie) "cookie1" "\
@@ -5011,7 +5048,7 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
;;;***
;;;### (autoloads (copyright copyright-fix-years copyright-update)
-;;;;;; "copyright" "emacs-lisp/copyright.el" (17148 25089))
+;;;;;; "copyright" "emacs-lisp/copyright.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/copyright.el
(autoload (quote copyright-update) "copyright" "\
@@ -5039,7 +5076,7 @@ Insert a copyright by $ORGANIZATION notice at cursor.
;;;***
;;;### (autoloads (cperl-mode) "cperl-mode" "progmodes/cperl-mode.el"
-;;;;;; (17185 27634))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/cperl-mode.el
(autoload (quote cperl-mode) "cperl-mode" "\
@@ -5212,7 +5249,7 @@ or as help on variables `cperl-tips', `cperl-problems',
;;;***
;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;; (17140 20963))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/cpp.el
(autoload (quote cpp-highlight-buffer) "cpp" "\
@@ -5231,7 +5268,7 @@ Edit display information for cpp conditionals.
;;;***
;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;; (17140 20920))
+;;;;;; (17187 59901))
;;; Generated autoloads from emulation/crisp.el
(defvar crisp-mode nil "\
@@ -5255,7 +5292,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise.
;;;***
;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;; (17148 25089))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/crm.el
(autoload (quote completing-read-multiple) "crm" "\
@@ -5291,7 +5328,7 @@ INHERIT-INPUT-METHOD.
;;;***
;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;; (17239 32278))
+;;;;;; (17251 25141))
;;; Generated autoloads from emulation/cua-base.el
(defvar cua-mode nil "\
@@ -5353,7 +5390,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
;;;;;; 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" (17244 43728))
+;;;;;; customize-set-value) "cus-edit" "cus-edit.el" (17277 60153))
;;; Generated autoloads from cus-edit.el
(add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'")
@@ -5608,7 +5645,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" (17242 7305))
+;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17244 4913))
;;; Generated autoloads from cus-face.el
(autoload (quote custom-declare-face) "cus-face" "\
@@ -5678,7 +5715,7 @@ This means reset FACE to its value in FROM-THEME.
;;;***
;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el"
-;;;;;; (17185 27407))
+;;;;;; (17187 59914))
;;; Generated autoloads from cus-theme.el
(autoload (quote customize-create-theme) "cus-theme" "\
@@ -5689,7 +5726,7 @@ Create a custom theme.
;;;***
;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el"
-;;;;;; (17148 24952))
+;;;;;; (17187 59901))
;;; Generated autoloads from cvs-status.el
(autoload (quote cvs-status-mode) "cvs-status" "\
@@ -5700,7 +5737,7 @@ Mode used for cvs status output.
;;;***
;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;; "cwarn" "progmodes/cwarn.el" (17140 20964))
+;;;;;; "cwarn" "progmodes/cwarn.el" (17187 59902))
;;; Generated autoloads from progmodes/cwarn.el
(autoload (quote cwarn-mode) "cwarn" "\
@@ -5744,7 +5781,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"
-;;;;;; (17102 18767))
+;;;;;; (17187 59881))
;;; Generated autoloads from language/cyril-util.el
(autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\
@@ -5773,7 +5810,7 @@ If the argument is nil, we return the display table to its standard state.
;;;***
;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;; (17239 32191))
+;;;;;; (17238 21257))
;;; Generated autoloads from dabbrev.el
(define-key esc-map "/" 'dabbrev-expand)
(define-key esc-map [?\C-/] 'dabbrev-completion)
@@ -5820,8 +5857,8 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
;;;***
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17140
-;;;;;; 20964))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/dcl-mode.el
(autoload (quote dcl-mode) "dcl-mode" "\
@@ -5948,7 +5985,7 @@ There is some minimal font-lock support (see vars
;;;***
;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;; "emacs-lisp/debug.el" (17244 43742))
+;;;;;; "emacs-lisp/debug.el" (17257 22482))
;;; Generated autoloads from emacs-lisp/debug.el
(setq debugger (quote debug))
@@ -5992,7 +6029,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
;;;***
;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;; (17205 6149))
+;;;;;; (17226 24576))
;;; Generated autoloads from play/decipher.el
(autoload (quote decipher) "decipher" "\
@@ -6021,8 +6058,8 @@ The most useful commands are:
;;;***
;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17148
-;;;;;; 24953))
+;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from delim-col.el
(autoload (quote delimit-columns-customize) "delim-col" "\
@@ -6046,8 +6083,8 @@ START and END delimits the corners of text rectangle.
;;;***
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17185
-;;;;;; 27637))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17187
+;;;;;; 59914))
;;; Generated autoloads from progmodes/delphi.el
(autoload (quote delphi-mode) "delphi" "\
@@ -6097,8 +6134,8 @@ no args, if that value is non-nil.
;;;***
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17159
-;;;;;; 1461))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from delsel.el
(defalias (quote pending-delete-mode) (quote delete-selection-mode))
@@ -6128,7 +6165,7 @@ any selection.
;;;***
;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;; "derived" "emacs-lisp/derived.el" (17148 25090))
+;;;;;; "derived" "emacs-lisp/derived.el" (17277 59649))
;;; Generated autoloads from emacs-lisp/derived.el
(autoload (quote define-derived-mode) "derived" "\
@@ -6193,7 +6230,7 @@ the first time the mode is used.
;;;***
;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;; "descr-text.el" (17185 27409))
+;;;;;; "descr-text.el" (17187 59914))
;;; Generated autoloads from descr-text.el
(autoload (quote describe-text-properties) "descr-text" "\
@@ -6218,7 +6255,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" (17242 7306))
+;;;;;; desktop-save-mode) "desktop" "desktop.el" (17244 4913))
;;; Generated autoloads from desktop.el
(defvar desktop-save-mode nil "\
@@ -6383,7 +6420,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"
-;;;;;; (17102 18579))
+;;;;;; (17187 59879))
;;; Generated autoloads from gnus/deuglify.el
(defvar gnus-outlook-deuglify-unwrap-min 45 "\
@@ -6432,7 +6469,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
;;;***
;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region)
-;;;;;; "devan-util" "language/devan-util.el" (17102 18768))
+;;;;;; "devan-util" "language/devan-util.el" (17187 59881))
;;; Generated autoloads from language/devan-util.el
(defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]")
@@ -6450,7 +6487,7 @@ Not documented
;;;***
;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;; "calendar/diary-lib.el" (17245 63766))
+;;;;;; "calendar/diary-lib.el" (17277 59649))
;;; Generated autoloads from calendar/diary-lib.el
(autoload (quote diary) "diary-lib" "\
@@ -6496,7 +6533,7 @@ Major mode for editing the diary file.
;;;***
;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff"
-;;;;;; "diff.el" (17239 32193))
+;;;;;; "diff.el" (17226 24572))
;;; Generated autoloads from diff.el
(defvar diff-switches "-c" "\
@@ -6530,7 +6567,7 @@ With prefix arg, prompt for diff switches.
;;;***
;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el"
-;;;;;; (17239 32193))
+;;;;;; (17238 21257))
;;; Generated autoloads from diff-mode.el
(autoload (quote diff-mode) "diff-mode" "\
@@ -6559,7 +6596,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" (17244 43730))
+;;;;;; "dired" "dired.el" (17257 22482))
;;; Generated autoloads from dired.el
(defvar dired-listing-switches "-al" "\
@@ -6764,7 +6801,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" (17239 32194))
+;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17226 24572))
;;; Generated autoloads from dired-aux.el
(autoload (quote dired-diff) "dired-aux" "\
@@ -7172,7 +7209,7 @@ true then the type of the file linked to by FILE is printed instead.
;;;***
-;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17248 29668))
+;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17277 59649))
;;; Generated autoloads from dired-x.el
(autoload (quote dired-jump) "dired-x" "\
@@ -7186,7 +7223,7 @@ buffer and try again.
;;;***
-;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17148 24959))
+;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17187 59901))
;;; Generated autoloads from dirtrack.el
(autoload (quote dirtrack) "dirtrack" "\
@@ -7205,8 +7242,8 @@ You can enable directory tracking by adding this function to
;;;***
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17148
-;;;;;; 25090))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from emacs-lisp/disass.el
(autoload (quote disassemble) "disass" "\
@@ -7224,7 +7261,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" (17242 7306))
+;;;;;; make-display-table) "disp-table" "disp-table.el" (17277 59649))
;;; Generated autoloads from disp-table.el
(autoload (quote make-display-table) "disp-table" "\
@@ -7325,7 +7362,7 @@ for users who call this function in `.emacs'.
;;;***
;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;; (17140 20946))
+;;;;;; (17187 59902))
;;; Generated autoloads from play/dissociate.el
(autoload (quote dissociated-press) "dissociate" "\
@@ -7341,7 +7378,7 @@ Default is 2.
;;;***
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17205 5985))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17226 24572))
;;; Generated autoloads from dnd.el
(defvar dnd-protocol-alist (quote (("^file:///" . dnd-open-local-file) ("^file://" . dnd-open-file) ("^file:" . dnd-open-local-file))) "\
@@ -7362,7 +7399,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" (17148 25205))
+;;;;;; "textmodes/dns-mode.el" (17187 59902))
;;; Generated autoloads from textmodes/dns-mode.el
(autoload (quote dns-mode) "dns-mode" "\
@@ -7385,7 +7422,7 @@ Locate SOA record and increment the serial field.
;;;***
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17244 43757))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17257 22483))
;;; Generated autoloads from play/doctor.el
(autoload (quote doctor) "doctor" "\
@@ -7396,7 +7433,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
;;;***
;;;### (autoloads (double-mode double-mode) "double" "double.el"
-;;;;;; (17148 24959))
+;;;;;; (17187 59901))
;;; Generated autoloads from double.el
(defvar double-mode nil "\
@@ -7417,7 +7454,7 @@ when pressed twice. See variable `double-map' for details.
;;;***
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17140 20947))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17187 59902))
;;; Generated autoloads from play/dunnet.el
(autoload (quote dunnet) "dunnet" "\
@@ -7428,7 +7465,7 @@ Switch to *dungeon* buffer and start game.
;;;***
;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el"
-;;;;;; (17148 25106))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/earcon.el
(autoload (quote gnus-earcon-display) "earcon" "\
@@ -7440,7 +7477,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" (17167 2793))
+;;;;;; "emacs-lisp/easy-mmode.el" (17263 27852))
;;; Generated autoloads from emacs-lisp/easy-mmode.el
(defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode))
@@ -7491,8 +7528,14 @@ For example, you could write
Make GLOBAL-MODE out of the buffer-local minor MODE.
TURN-ON is a function that will be called with no args in every buffer
and that should try to turn MODE on if applicable for that buffer.
-KEYS is a list of CL-style keyword arguments:
-:group to specify the custom group.
+KEYS is a list of CL-style keyword arguments. As the minor mode
+ defined by this function is always global, any :global keyword is
+ ignored. Other keywords have the same meaning as in `define-minor-mode',
+ which see. In particular, :group specifies the custom group.
+ The most useful keywords are those that are passed on to the
+ `defcustom'. It normally makes no sense to pass the :lighter
+ or :keymap keywords to `define-global-minor-mode', since these
+ are usually passed to the buffer-local version of the minor mode.
If MODE's set-up depends on the major mode in effect when it was
enabled, then disabling and reenabling MODE should make MODE work
@@ -7526,8 +7569,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" (17250
-;;;;;; 21105))
+;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17263
+;;;;;; 27852))
;;; Generated autoloads from emacs-lisp/easymenu.el
(put (quote easy-menu-define) (quote lisp-indent-function) (quote defun))
@@ -7672,7 +7715,7 @@ To implement dynamic menus, either call this from
;;;;;; 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" (17239 32372))
+;;;;;; "progmodes/ebnf2ps.el" (17226 24577))
;;; Generated autoloads from progmodes/ebnf2ps.el
(autoload (quote ebnf-customize) "ebnf2ps" "\
@@ -7931,8 +7974,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" (17239
-;;;;;; 32375))
+;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17226
+;;;;;; 24577))
;;; Generated autoloads from progmodes/ebrowse.el
(autoload (quote ebrowse-tree-mode) "ebrowse" "\
@@ -8083,7 +8126,7 @@ Display statistics for a class tree.
;;;***
;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;; (17148 24959))
+;;;;;; (17187 59901))
;;; Generated autoloads from ebuff-menu.el
(autoload (quote electric-buffer-list) "ebuff-menu" "\
@@ -8108,7 +8151,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
;;;***
;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;; "echistory.el" (17205 5985))
+;;;;;; "echistory.el" (17226 24572))
;;; Generated autoloads from echistory.el
(autoload (quote Electric-command-history-redo-expression) "echistory" "\
@@ -8120,7 +8163,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" (17148 25093))
+;;;;;; edebug-all-defs) "edebug" "emacs-lisp/edebug.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/edebug.el
(defvar edebug-all-defs nil "\
@@ -8183,7 +8226,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" (17239 32202))
+;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17229 28053))
;;; Generated autoloads from ediff.el
(autoload (quote ediff-files) "ediff" "\
@@ -8421,7 +8464,7 @@ With optional NODE, goes to that node.
;;;***
;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el"
-;;;;;; (17148 24960))
+;;;;;; (17187 59901))
;;; Generated autoloads from ediff-help.el
(autoload (quote ediff-customize) "ediff-help" "\
@@ -8431,7 +8474,7 @@ Not documented
;;;***
-;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17148 24960))
+;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17187 59901))
;;; Generated autoloads from ediff-hook.el
(defvar ediff-window-setup-function)
@@ -8444,7 +8487,7 @@ Not documented
;;;***
;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el"
-;;;;;; (17239 32198))
+;;;;;; (17229 28052))
;;; Generated autoloads from ediff-mult.el
(autoload (quote ediff-show-registry) "ediff-mult" "\
@@ -8457,7 +8500,7 @@ Display Ediff's registry.
;;;***
;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;; "ediff-util" "ediff-util.el" (17239 32201))
+;;;;;; "ediff-util" "ediff-util.el" (17277 59649))
;;; Generated autoloads from ediff-util.el
(autoload (quote ediff-toggle-multiframe) "ediff-util" "\
@@ -8478,7 +8521,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"
-;;;;;; (17148 24966))
+;;;;;; (17251 25141))
;;; Generated autoloads from edmacro.el
(defvar edmacro-eight-bits nil "\
@@ -8531,7 +8574,7 @@ or nil, use a compact 80-column format.
;;;***
;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;; "emulation/edt.el" (17140 20922))
+;;;;;; "emulation/edt.el" (17187 59901))
;;; Generated autoloads from emulation/edt.el
(autoload (quote edt-set-scroll-margins) "edt" "\
@@ -8549,7 +8592,7 @@ Turn on EDT Emulation.
;;;***
;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;; (17148 24966))
+;;;;;; (17187 59901))
;;; Generated autoloads from ehelp.el
(autoload (quote with-electric-help) "ehelp" "\
@@ -8587,7 +8630,7 @@ Not documented
;;;***
;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17239 32276))
+;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17226 24574))
;;; Generated autoloads from emacs-lisp/eldoc.el
(defvar eldoc-minor-mode-string " ElDoc" "\
@@ -8625,8 +8668,8 @@ Emacs Lisp mode) that support Eldoc.")
;;;***
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17148
-;;;;;; 24966))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from elide-head.el
(autoload (quote elide-head) "elide-head" "\
@@ -8642,7 +8685,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
;;;***
;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el"
-;;;;;; (17148 25094))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/elint.el
(autoload (quote elint-initialize) "elint" "\
@@ -8653,8 +8696,8 @@ Initialize elint.
;;;***
;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17148
-;;;;;; 25094))
+;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from emacs-lisp/elp.el
(autoload (quote elp-instrument-function) "elp" "\
@@ -8688,7 +8731,7 @@ displayed.
;;;***
;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
-;;;;;; (17148 25154))
+;;;;;; (17187 59901))
;;; Generated autoloads from mail/emacsbug.el
(autoload (quote report-emacs-bug) "emacsbug" "\
@@ -8703,7 +8746,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" (17167 2775))
+;;;;;; "emerge.el" (17187 59901))
;;; Generated autoloads from emerge.el
(defvar menu-bar-emerge-menu (make-sparse-keymap "Emerge"))
@@ -8780,38 +8823,21 @@ Not documented
;;;***
-;;;### (autoloads (encoded-kbd-mode) "encoded-kb" "international/encoded-kb.el"
-;;;;;; (17102 18713))
+;;;### (autoloads (encoded-kbd-setup-display) "encoded-kb" "international/encoded-kb.el"
+;;;;;; (17251 25141))
;;; 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")
-
-(put (quote encoded-kbd-mode) (quote custom-set) (quote custom-set-minor-mode))
+(autoload (quote encoded-kbd-setup-display) "encoded-kb" "\
+Set up a `key-translation-map' for `keyboard-coding-system' on 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.
+DISPLAY may be a display id, a frame, or nil for the selected frame's display.
-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" (17148 25205))
+;;;;;; "enriched" "textmodes/enriched.el" (17187 59902))
;;; Generated autoloads from textmodes/enriched.el
(autoload (quote enriched-mode) "enriched" "\
@@ -8841,8 +8867,8 @@ Not documented
;;;***
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17140
-;;;;;; 20930))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from eshell/esh-mode.el
(autoload (quote eshell-mode) "esh-mode" "\
@@ -8854,8 +8880,8 @@ Emacs shell interactive mode.
;;;***
-;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17140
-;;;;;; 20931))
+;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from eshell/esh-test.el
(autoload (quote eshell-test) "esh-test" "\
@@ -8866,7 +8892,7 @@ Test Eshell to verify that it works as expected.
;;;***
;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command
-;;;;;; eshell) "eshell" "eshell/eshell.el" (17148 25104))
+;;;;;; eshell) "eshell" "eshell/eshell.el" (17187 59901))
;;; Generated autoloads from eshell/eshell.el
(autoload (quote eshell) "eshell" "\
@@ -8912,7 +8938,7 @@ Please include any configuration details that might be involved.
;;;;;; visit-tags-table tags-table-mode 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"
-;;;;;; (17242 7321))
+;;;;;; (17244 4914))
;;; Generated autoloads from progmodes/etags.el
(defvar tags-file-name nil "\
@@ -9214,7 +9240,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" (17185 27568))
+;;;;;; "ethio-util" "language/ethio-util.el" (17187 59901))
;;; Generated autoloads from language/ethio-util.el
(autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\
@@ -9409,7 +9435,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"
-;;;;;; (17185 27585))
+;;;;;; (17263 27852))
;;; Generated autoloads from net/eudc.el
(autoload (quote eudc-set-server) "eudc" "\
@@ -9465,7 +9491,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" (17140 20940))
+;;;;;; "eudc-bob" "net/eudc-bob.el" (17187 59902))
;;; Generated autoloads from net/eudc-bob.el
(autoload (quote eudc-display-generic-binary) "eudc-bob" "\
@@ -9501,7 +9527,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" (17140 20940))
+;;;;;; "eudc-export" "net/eudc-export.el" (17187 59902))
;;; Generated autoloads from net/eudc-export.el
(autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\
@@ -9518,7 +9544,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
;;;***
;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;; (17140 20940))
+;;;;;; (17187 59902))
;;; Generated autoloads from net/eudc-hotlist.el
(autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\
@@ -9531,7 +9557,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"
-;;;;;; (17140 20967))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/executable.el
(autoload (quote executable-command-find-posix-p) "executable" "\
@@ -9573,7 +9599,7 @@ file modes.
;;;***
;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
-;;;;;; expand-add-abbrevs) "expand" "expand.el" (17148 24967))
+;;;;;; expand-add-abbrevs) "expand" "expand.el" (17187 59901))
;;; Generated autoloads from expand.el
(autoload (quote expand-add-abbrevs) "expand" "\
@@ -9616,7 +9642,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
;;;***
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17239 32377))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17277 60154))
;;; Generated autoloads from progmodes/f90.el
(autoload (quote f90-mode) "f90" "\
@@ -9683,7 +9709,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" (17148 24967))
+;;;;;; "facemenu" "facemenu.el" (17187 59901))
;;; Generated autoloads from facemenu.el
(define-key global-map "\M-o" 'facemenu-keymap)
(autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap)
@@ -9846,7 +9872,7 @@ argument BUFFER-NAME is nil, it defaults to *Colors*.
;;;***
;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock"
-;;;;;; "obsolete/fast-lock.el" (17205 6148))
+;;;;;; "obsolete/fast-lock.el" (17226 24576))
;;; Generated autoloads from obsolete/fast-lock.el
(autoload (quote fast-lock-mode) "fast-lock" "\
@@ -9887,7 +9913,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" (17239 32329))
+;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17263 27852))
;;; Generated autoloads from mail/feedmail.el
(autoload (quote feedmail-send-it) "feedmail" "\
@@ -9941,7 +9967,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" (17239 32205))
+;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17238 21257))
;;; Generated autoloads from ffap.el
(autoload (quote ffap-next) "ffap" "\
@@ -9998,7 +10024,7 @@ Evaluate the forms in variable `ffap-bindings'.
;;;***
;;;### (autoloads (file-cache-minibuffer-complete) "filecache" "filecache.el"
-;;;;;; (17239 32205))
+;;;;;; (17238 21257))
;;; Generated autoloads from filecache.el
(autoload (quote file-cache-minibuffer-complete) "filecache" "\
@@ -10016,8 +10042,8 @@ the name is considered already unique; only the second substitution
;;;***
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17148
-;;;;;; 24974))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from filesets.el
(autoload (quote filesets-init) "filesets" "\
@@ -10030,7 +10056,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"
-;;;;;; (17148 24974))
+;;;;;; (17187 59901))
;;; 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"))) "\
@@ -10091,7 +10117,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"
-;;;;;; (17148 24975))
+;;;;;; (17187 59901))
;;; 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)))))) "\
@@ -10183,7 +10209,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" (17246 34220))
+;;;;;; "emacs-lisp/find-func.el" (17257 22482))
;;; Generated autoloads from emacs-lisp/find-func.el
(autoload (quote find-library) "find-func" "\
@@ -10332,7 +10358,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" (17185 27434))
+;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17277 59649))
;;; Generated autoloads from find-lisp.el
(autoload (quote find-lisp-find-dired) "find-lisp" "\
@@ -10353,7 +10379,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" (17245 51608))
+;;;;;; "finder" "finder.el" (17257 22482))
;;; Generated autoloads from finder.el
(autoload (quote finder-list-keywords) "finder" "\
@@ -10375,7 +10401,7 @@ Find packages matching a given keyword.
;;;***
;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;; "flow-ctrl.el" (17148 24975))
+;;;;;; "flow-ctrl.el" (17187 59901))
;;; Generated autoloads from flow-ctrl.el
(autoload (quote enable-flow-control) "flow-ctrl" "\
@@ -10397,7 +10423,7 @@ to get the effect of a C-q.
;;;***
;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;; (17148 25106))
+;;;;;; (17263 27852))
;;; Generated autoloads from gnus/flow-fill.el
(autoload (quote fill-flowed-encode) "flow-fill" "\
@@ -10413,7 +10439,7 @@ Not documented
;;;***
;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode)
-;;;;;; "flymake" "progmodes/flymake.el" (17205 6169))
+;;;;;; "flymake" "progmodes/flymake.el" (17226 24577))
;;; Generated autoloads from progmodes/flymake.el
(autoload (quote flymake-mode) "flymake" "\
@@ -10437,7 +10463,7 @@ Turn flymake mode off.
;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
;;;;;; flyspell-mode flyspell-prog-mode) "flyspell" "textmodes/flyspell.el"
-;;;;;; (17249 49356))
+;;;;;; (17277 59650))
;;; Generated autoloads from textmodes/flyspell.el
(autoload (quote flyspell-prog-mode) "flyspell" "\
@@ -10496,7 +10522,7 @@ Flyspell whole buffer.
;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;; (17194 38158))
+;;;;;; (17196 27217))
;;; Generated autoloads from follow.el
(autoload (quote turn-on-follow-mode) "follow" "\
@@ -10570,202 +10596,8 @@ 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" (17244 43734))
-;;; Generated autoloads from font-lock.el
-
-(defvar font-lock-keywords nil "\
-A list of the keywords to highlight.
-There are two kinds of values: user-level, and compiled.
-
-A user-level keywords list is what a major mode or the user would
-set up. Normally the list would come from `font-lock-defaults'.
-through selection of a fontification level and evaluation of any
-contained expressions. You can also alter it by calling
-`font-lock-add-keywords' or `font-lock-remove-keywords' with MODE = nil.
-
-Each element in a user-level keywords list should have one of these forms:
-
- MATCHER
- (MATCHER . SUBEXP)
- (MATCHER . FACENAME)
- (MATCHER . HIGHLIGHT)
- (MATCHER HIGHLIGHT ...)
- (eval . FORM)
-
-where MATCHER can be either the regexp to search for, or the function name to
-call to make the search (called with one argument, the limit of the search;
-it should return non-nil, move point, and set `match-data' appropriately iff
-it succeeds; like `re-search-forward' would).
-MATCHER regexps can be generated via the function `regexp-opt'.
-
-FORM is an expression, whose value should be a keyword element, evaluated when
-the keyword is (first) used in a buffer. This feature can be used to provide a
-keyword that can only be generated when Font Lock mode is actually turned on.
-
-HIGHLIGHT should be either MATCH-HIGHLIGHT or MATCH-ANCHORED.
-
-For highlighting single items, for example each instance of the word \"foo\",
-typically only MATCH-HIGHLIGHT is required.
-However, if an item or (typically) items are to be highlighted following the
-instance of another item (the anchor), for example each instance of the
-word \"bar\" following the word \"anchor\" then MATCH-ANCHORED may be required.
-
-MATCH-HIGHLIGHT should be of the form:
-
- (SUBEXP FACENAME [OVERRIDE [LAXMATCH]])
-
-SUBEXP is the number of the subexpression of MATCHER to be highlighted.
-
-FACENAME is an expression whose value is the face name to use.
-Instead of a face, FACENAME can evaluate to a property list
-of the form (face FACE PROP1 VAL1 PROP2 VAL2 ...)
-in which case all the listed text-properties will be set rather than
-just FACE. In such a case, you will most likely want to put those
-properties in `font-lock-extra-managed-props' or to override
-`font-lock-unfontify-region-function'.
-
-OVERRIDE and LAXMATCH are flags. If OVERRIDE is t, existing fontification can
-be overwritten. If `keep', only parts not already fontified are highlighted.
-If `prepend' or `append', existing fontification is merged with the new, in
-which the new or existing fontification, respectively, takes precedence.
-If LAXMATCH is non-nil, that means don't signal an error if there is
-no match for SUBEXP in MATCHER.
-
-For example, an element of the form highlights (if not already highlighted):
-
- \"\\\\\\=<foo\\\\\\=>\" discrete occurrences of \"foo\" in the value of the
- variable `font-lock-keyword-face'.
- (\"fu\\\\(bar\\\\)\" . 1) substring \"bar\" within all occurrences of \"fubar\" in
- the value of `font-lock-keyword-face'.
- (\"fubar\" . fubar-face) Occurrences of \"fubar\" in the value of `fubar-face'.
- (\"foo\\\\|bar\" 0 foo-bar-face t)
- occurrences of either \"foo\" or \"bar\" in the value
- of `foo-bar-face', even if already highlighted.
- (fubar-match 1 fubar-face)
- the first subexpression within all occurrences of
- whatever the function `fubar-match' finds and matches
- in the value of `fubar-face'.
-
-MATCH-ANCHORED should be of the form:
-
- (MATCHER PRE-MATCH-FORM POST-MATCH-FORM MATCH-HIGHLIGHT ...)
-
-where MATCHER is a regexp to search for or the function name to call to make
-the search, as for MATCH-HIGHLIGHT above, but with one exception; see below.
-PRE-MATCH-FORM and POST-MATCH-FORM are evaluated before the first, and after
-the last, instance MATCH-ANCHORED's MATCHER is used. Therefore they can be
-used to initialize before, and cleanup after, MATCHER is used. Typically,
-PRE-MATCH-FORM is used to move to some position relative to the original
-MATCHER, before starting with MATCH-ANCHORED's MATCHER. POST-MATCH-FORM might
-be used to move back, before resuming with MATCH-ANCHORED's parent's MATCHER.
-
-For example, an element of the form highlights (if not already highlighted):
-
- (\"\\\\\\=<anchor\\\\\\=>\" (0 anchor-face) (\"\\\\\\=<item\\\\\\=>\" nil nil (0 item-face)))
-
- discrete occurrences of \"anchor\" in the value of `anchor-face', and subsequent
- discrete occurrences of \"item\" (on the same line) in the value of `item-face'.
- (Here PRE-MATCH-FORM and POST-MATCH-FORM are nil. Therefore \"item\" is
- initially searched for starting from the end of the match of \"anchor\", and
- searching for subsequent instances of \"anchor\" resumes from where searching
- for \"item\" concluded.)
-
-The above-mentioned exception is as follows. The limit of the MATCHER search
-defaults to the end of the line after PRE-MATCH-FORM is evaluated.
-However, if PRE-MATCH-FORM returns a position greater than the position after
-PRE-MATCH-FORM is evaluated, that position is used as the limit of the search.
-It is generally a bad idea to return a position greater than the end of the
-line, i.e., cause the MATCHER search to span lines.
-
-These regular expressions can match text which spans lines, although
-it is better to avoid it if possible since updating them while editing
-text is slower, and it is not guaranteed to be always correct when using
-support modes like jit-lock or lazy-lock.
-
-This variable is set by major modes via the variable `font-lock-defaults'.
-Be careful when composing regexps for this list; a poorly written pattern can
-dramatically slow things down!
-
-A compiled keywords list starts with t. It is produced internal
-by `font-lock-compile-keywords' from a user-level keywords list.
-Its second element is the user-level keywords list that was
-compiled. The remaining elements have the same form as
-user-level keywords, but normally their values have been
-optimized.")
-
-(autoload (quote font-lock-mode-internal) "font-lock" "\
-Not documented
-
-\(fn ARG)" nil nil)
-
-(autoload (quote font-lock-add-keywords) "font-lock" "\
-Add highlighting KEYWORDS for MODE.
-
-MODE should be a symbol, the major mode command name, such as `c-mode'
-or nil. If nil, highlighting keywords are added for the current buffer.
-KEYWORDS should be a list; see the variable `font-lock-keywords'.
-By default they are added at the beginning of the current highlighting list.
-If optional argument APPEND is `set', they are used to replace the current
-highlighting list. If APPEND is any other non-nil value, they are added at the
-end of the current highlighting list.
-
-For example:
-
- (font-lock-add-keywords 'c-mode
- '((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 font-lock-warning-face prepend)
- (\"\\\\\\=<\\\\(and\\\\|or\\\\|not\\\\)\\\\\\=>\" . font-lock-keyword-face)))
-
-adds two fontification patterns for C mode, to fontify `FIXME:' words, even in
-comments, and to fontify `and', `or' and `not' words as keywords.
-
-The above procedure will only add the keywords for C mode, not
-for modes derived from C mode. To add them for derived modes too,
-pass nil for MODE and add the call to c-mode-hook.
-
-For example:
-
- (add-hook 'c-mode-hook
- (lambda ()
- (font-lock-add-keywords nil
- '((\"\\\\\\=<\\\\(FIXME\\\\):\" 1 font-lock-warning-face prepend)
- (\"\\\\\\=<\\\\(and\\\\|or\\\\|not\\\\)\\\\\\=>\" .
- font-lock-keyword-face)))))
-
-The above procedure may fail to add keywords to derived modes if
-some involved major mode does not follow the standard conventions.
-File a bug report if this happens, so the major mode can be corrected.
-
-Note that some modes have specialized support for additional patterns, e.g.,
-see the variables `c-font-lock-extra-types', `c++-font-lock-extra-types',
-`objc-font-lock-extra-types' and `java-font-lock-extra-types'.
-
-\(fn MODE KEYWORDS &optional APPEND)" nil nil)
-
-(autoload (quote font-lock-remove-keywords) "font-lock" "\
-Remove highlighting KEYWORDS for MODE.
-
-MODE should be a symbol, the major mode command name, such as `c-mode'
-or nil. If nil, highlighting keywords are removed for the current buffer.
-
-To make the removal apply to modes derived from MODE as well,
-pass nil for MODE and add the call to MODE-hook. This may fail
-for some derived modes if some involved major mode does not
-follow the standard conventions. File a bug report if this
-happens, so the major mode can be corrected.
-
-\(fn MODE KEYWORDS)" nil nil)
-
-(autoload (quote font-lock-fontify-buffer) "font-lock" "\
-Fontify the current buffer the way the function `font-lock-mode' would.
-
-\(fn)" t nil)
-
-;;;***
-
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17148
-;;;;;; 25154))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from mail/footnote.el
(autoload (quote footnote-mode) "footnote" "\
@@ -10786,7 +10618,7 @@ key binding
;;;***
;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;; "forms" "forms.el" (17239 32209))
+;;;;;; "forms" "forms.el" (17226 24575))
;;; Generated autoloads from forms.el
(autoload (quote forms-mode) "forms" "\
@@ -10823,7 +10655,7 @@ Visit a file in Forms mode in other window.
;;;***
;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran"
-;;;;;; "progmodes/fortran.el" (17239 32378))
+;;;;;; "progmodes/fortran.el" (17277 60154))
;;; Generated autoloads from progmodes/fortran.el
(defvar fortran-tab-mode-default nil "\
@@ -10909,7 +10741,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" (17140 20947))
+;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17187 59902))
;;; Generated autoloads from play/fortune.el
(autoload (quote fortune-add-fortune) "fortune" "\
@@ -10959,7 +10791,7 @@ and choose the directory as the fortune-file.
;;;***
;;;### (autoloads (set-fringe-style fringe-mode fringe-mode) "fringe"
-;;;;;; "fringe.el" (17148 24980))
+;;;;;; "fringe.el" (17187 59901))
;;; Generated autoloads from fringe.el
(defvar fringe-mode nil "\
@@ -11030,7 +10862,7 @@ default appearance of fringes on all frames, see the command
;;;***
;;;### (autoloads (gdb-enable-debug-log gdba) "gdb-ui" "progmodes/gdb-ui.el"
-;;;;;; (17247 12425))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/gdb-ui.el
(autoload (quote gdba) "gdb-ui" "\
@@ -11093,8 +10925,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" (17148
-;;;;;; 25095))
+;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from emacs-lisp/generic.el
(defvar generic-mode-list nil "\
@@ -11169,7 +11001,7 @@ regular expression that can be used as an element of
;;;***
;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;; (17196 24556))
+;;;;;; (17226 24577))
;;; Generated autoloads from progmodes/glasses.el
(autoload (quote glasses-mode) "glasses" "\
@@ -11182,7 +11014,7 @@ at places they belong to.
;;;***
;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17205 6099))
+;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17277 59649))
;;; Generated autoloads from gnus/gnus.el
(autoload (quote gnus-slave-no-server) "gnus" "\
@@ -11233,7 +11065,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" (17239 32296))
+;;;;;; "gnus/gnus-agent.el" (17226 24575))
;;; Generated autoloads from gnus/gnus-agent.el
(autoload (quote gnus-unplugged) "gnus-agent" "\
@@ -11320,7 +11152,7 @@ If CLEAN, obsolete (ignore).
;;;***
;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;; (17242 24869))
+;;;;;; (17257 22483))
;;; Generated autoloads from gnus/gnus-art.el
(autoload (quote gnus-article-prepare-display) "gnus-art" "\
@@ -11331,7 +11163,7 @@ Make the current buffer look like a nice article.
;;;***
;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el"
-;;;;;; (17148 25111))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-audio.el
(autoload (quote gnus-audio-play) "gnus-audio" "\
@@ -11343,8 +11175,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" (17148
-;;;;;; 25111))
+;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from gnus/gnus-cache.el
(autoload (quote gnus-jog-cache) "gnus-cache" "\
@@ -11382,7 +11214,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" (17148 25112))
+;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17187 59901))
;;; Generated autoloads from gnus/gnus-delay.el
(defgroup gnus-delay nil "Arrange for sending postings later." :version "22.1" :group (quote gnus))
@@ -11420,7 +11252,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"
-;;;;;; (17148 25112))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-dired.el
(autoload (quote turn-on-gnus-dired-mode) "gnus-dired" "\
@@ -11431,7 +11263,7 @@ Convenience method to turn on gnus-dired-mode.
;;;***
;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;; (17148 25113))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-draft.el
(autoload (quote gnus-draft-reminder) "gnus-draft" "\
@@ -11443,8 +11275,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" (17185
-;;;;;; 27513))
+;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17187
+;;;;;; 59914))
;;; Generated autoloads from gnus/gnus-fun.el
(autoload (quote gnus-random-x-face) "gnus-fun" "\
@@ -11483,7 +11315,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" (17148 25115))
+;;;;;; "gnus-group" "gnus/gnus-group.el" (17187 59901))
;;; Generated autoloads from gnus/gnus-group.el
(autoload (quote gnus-fetch-group) "gnus-group" "\
@@ -11500,7 +11332,7 @@ Pop up a frame and enter GROUP.
;;;***
;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;; (17148 25116))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-kill.el
(defalias (quote gnus-batch-kill) (quote gnus-batch-score))
@@ -11515,7 +11347,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"
-;;;;;; (17148 25116))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-ml.el
(autoload (quote turn-on-gnus-mailing-list-mode) "gnus-ml" "\
@@ -11540,7 +11372,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"
-;;;;;; (17148 25116))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-mlspl.el
(autoload (quote gnus-group-split-setup) "gnus-mlspl" "\
@@ -11641,7 +11473,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
;;;***
;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el"
-;;;;;; (17148 25116))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-move.el
(autoload (quote gnus-change-server) "gnus-move" "\
@@ -11653,7 +11485,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" (17185 27515))
+;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17187 59914))
;;; Generated autoloads from gnus/gnus-msg.el
(autoload (quote gnus-msg-mail) "gnus-msg" "\
@@ -11679,7 +11511,7 @@ Like `message-reply'.
;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;; (17148 25117))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-picon.el
(autoload (quote gnus-treat-from-picon) "gnus-picon" "\
@@ -11706,7 +11538,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" (17148 25118))
+;;;;;; "gnus/gnus-range.el" (17187 59901))
;;; Generated autoloads from gnus/gnus-range.el
(autoload (quote gnus-sorted-difference) "gnus-range" "\
@@ -11774,7 +11606,7 @@ Add NUM into sorted LIST by side effect.
;;;***
;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17148 25118))
+;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17187 59901))
;;; Generated autoloads from gnus/gnus-registry.el
(autoload (quote gnus-registry-initialize) "gnus-registry" "\
@@ -11790,8 +11622,8 @@ Install the registry hooks.
;;;***
;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17148
-;;;;;; 25120))
+;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from gnus/gnus-sieve.el
(autoload (quote gnus-sieve-update) "gnus-sieve" "\
@@ -11819,7 +11651,7 @@ Not documented
;;;***
;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el"
-;;;;;; (17148 25120))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-soup.el
(autoload (quote gnus-batch-brew-soup) "gnus-soup" "\
@@ -11839,7 +11671,7 @@ Note -- this function hasn't been implemented yet.
;;;***
;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;; (17185 27516))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-spec.el
(autoload (quote gnus-update-format) "gnus-spec" "\
@@ -11850,8 +11682,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" (17239
-;;;;;; 32303))
+;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17226
+;;;;;; 24575))
;;; Generated autoloads from gnus/gnus-start.el
(autoload (quote gnus-declare-backend) "gnus-start" "\
@@ -11867,7 +11699,7 @@ Not documented
;;;***
;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;; (17148 25131))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/gnus-win.el
(autoload (quote gnus-add-configuration) "gnus-win" "\
@@ -11877,7 +11709,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
;;;***
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17239 32364))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17226 24576))
;;; Generated autoloads from play/gomoku.el
(autoload (quote gomoku) "gomoku" "\
@@ -11904,7 +11736,7 @@ Use \\[describe-mode] for more info.
;;;***
;;;### (autoloads (goto-address goto-address-at-point) "goto-addr"
-;;;;;; "net/goto-addr.el" (17140 20941))
+;;;;;; "net/goto-addr.el" (17263 27852))
;;; Generated autoloads from net/goto-addr.el
(define-obsolete-function-alias (quote goto-address-at-mouse) (quote goto-address-at-point) "22.1")
@@ -11932,7 +11764,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" (17185 27647))
+;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17187 59902))
;;; Generated autoloads from progmodes/grep.el
(defvar grep-window-height nil "\
@@ -12056,7 +11888,7 @@ those sub directories of DIR.
;;;***
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (17148 24982))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (17187 59901))
;;; Generated autoloads from gs.el
(autoload (quote gs-load-image) "gs" "\
@@ -12070,7 +11902,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" (17247 12425))
+;;;;;; perldb xdb dbx sdb gdb) "gud" "progmodes/gud.el" (17277 60154))
;;; Generated autoloads from progmodes/gud.el
(autoload (quote gdb) "gud" "\
@@ -12166,8 +11998,8 @@ Toggle the display of GUD tooltips.
;;;***
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17185
-;;;;;; 27606))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from play/handwrite.el
(autoload (quote handwrite) "handwrite" "\
@@ -12185,7 +12017,7 @@ Variables: handwrite-linespace (default 12)
;;;***
;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;; (17075 55477))
+;;;;;; (17187 59879))
;;; Generated autoloads from play/hanoi.el
(autoload (quote hanoi) "hanoi" "\
@@ -12215,7 +12047,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" (17148 24982))
+;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17187 59901))
;;; Generated autoloads from help-at-pt.el
(autoload (quote help-at-pt-string) "help-at-pt" "\
@@ -12343,8 +12175,9 @@ 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
-;;;;;; help-with-tutorial) "help-fns" "help-fns.el" (17250 21610))
+;;;;;; variable-at-point describe-function-1 describe-simplify-lib-file-name
+;;;;;; help-C-file-name describe-function help-with-tutorial) "help-fns"
+;;;;;; "help-fns.el" (17277 59649))
;;; Generated autoloads from help-fns.el
(autoload (quote help-with-tutorial) "help-fns" "\
@@ -12370,6 +12203,11 @@ KIND should be `var' for a variable or `subr' for a subroutine.
(defface help-argument-name (quote ((((supports :slant italic)) :inherit italic))) "\
Face to highlight argument names in *Help* buffers." :group (quote help))
+(autoload (quote describe-simplify-lib-file-name) "help-fns" "\
+Simplify a library name FILE to a relative name, and make it a source file.
+
+\(fn FILE)" nil nil)
+
(autoload (quote describe-function-1) "help-fns" "\
Not documented
@@ -12385,10 +12223,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.
@@ -12408,7 +12247,7 @@ BUFFER should be a buffer or a buffer name.
;;;***
;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;; (17148 24982))
+;;;;;; (17187 59901))
;;; Generated autoloads from help-macro.el
(defvar three-step-help nil "\
@@ -12424,7 +12263,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" (17148 24983))
+;;;;;; help-mode) "help-mode" "help-mode.el" (17277 59649))
;;; Generated autoloads from help-mode.el
(autoload (quote help-mode) "help-mode" "\
@@ -12507,7 +12346,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
;;;***
;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;; "emacs-lisp/helper.el" (17148 25095))
+;;;;;; "emacs-lisp/helper.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/helper.el
(autoload (quote Helper-describe-bindings) "helper" "\
@@ -12523,7 +12362,7 @@ Provide help for current mode.
;;;***
;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;; "hexl.el" (17167 2778))
+;;;;;; "hexl.el" (17187 59901))
;;; Generated autoloads from hexl.el
(autoload (quote hexl-mode) "hexl" "\
@@ -12618,8 +12457,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" (17205
-;;;;;; 6005))
+;;;;;; hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from hi-lock.el
(defvar hi-lock-mode nil "\
@@ -12730,7 +12569,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" (17140 20971))
+;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17187 59902))
;;; Generated autoloads from progmodes/hideif.el
(autoload (quote hide-ifdef-mode) "hideif" "\
@@ -12785,7 +12624,7 @@ how the hiding is done:
;;;***
;;;### (autoloads (hs-minor-mode) "hideshow" "progmodes/hideshow.el"
-;;;;;; (17194 38303))
+;;;;;; (17196 27217))
;;; Generated autoloads from progmodes/hideshow.el
(defvar hs-special-modes-alist (quote ((c-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (c++-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning) (bibtex-mode ("^@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil hs-c-like-adjust-block-beginning))) "\
@@ -12843,7 +12682,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" (17148 24984))
+;;;;;; "hilit-chg" "hilit-chg.el" (17187 59901))
;;; Generated autoloads from hilit-chg.el
(autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\
@@ -12973,7 +12812,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" (17148 24985))
+;;;;;; "hippie-exp.el" (17187 59901))
;;; 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)) "\
@@ -13046,7 +12885,7 @@ argument VERBOSE non-nil makes the function verbose.
;;;***
;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;; (17148 24985))
+;;;;;; (17187 59901))
;;; Generated autoloads from hl-line.el
(autoload (quote hl-line-mode) "hl-line" "\
@@ -13088,7 +12927,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
;;;***
;;;### (autoloads (list-holidays holidays) "holidays" "calendar/holidays.el"
-;;;;;; (17239 32269))
+;;;;;; (17229 28052))
;;; Generated autoloads from calendar/holidays.el
(autoload (quote holidays) "holidays" "\
@@ -13112,7 +12951,7 @@ The optional LABEL is used to label the buffer created.
;;;***
;;;### (autoloads (hscroll-global-mode hscroll-mode turn-on-hscroll)
-;;;;;; "hscroll" "obsolete/hscroll.el" (17148 25179))
+;;;;;; "hscroll" "obsolete/hscroll.el" (17187 59902))
;;; Generated autoloads from obsolete/hscroll.el
(autoload (quote turn-on-hscroll) "hscroll" "\
@@ -13138,8 +12977,8 @@ Also see `automatic-hscrolling'.
;;;***
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17148
-;;;;;; 25133))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from gnus/html2text.el
(autoload (quote html2text) "html2text" "\
@@ -13170,7 +13009,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" (17239 32209))
+;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17277 60154))
;;; Generated autoloads from ibuf-ext.el
(autoload (quote ibuffer-auto-mode) "ibuf-ext" "\
@@ -13531,8 +13370,8 @@ defaults to one.
;;;***
;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17205
-;;;;;; 6006))
+;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17226
+;;;;;; 24576))
;;; Generated autoloads from ibuf-macs.el
(autoload (quote define-ibuffer-column) "ibuf-macs" "\
@@ -13618,7 +13457,7 @@ bound to the current value of the filter.
;;;***
;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;; "ibuffer" "ibuffer.el" (17167 2779))
+;;;;;; "ibuffer" "ibuffer.el" (17263 27852))
;;; Generated autoloads from ibuffer.el
(autoload (quote ibuffer-list-buffers) "ibuffer" "\
@@ -13659,7 +13498,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" (17244 46363))
+;;;;;; "calendar/icalendar.el" (17257 22482))
;;; Generated autoloads from calendar/icalendar.el
(autoload (quote icalendar-export-file) "icalendar" "\
@@ -13711,8 +13550,8 @@ buffer `*icalendar-errors*'.
;;;***
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17148
-;;;;;; 24987))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from icomplete.el
(defvar icomplete-mode nil "\
@@ -13733,7 +13572,7 @@ With a numeric argument, turn Icomplete mode on iff ARG is positive.
;;;***
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17140 20972))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17277 60154))
;;; Generated autoloads from progmodes/icon.el
(autoload (quote icon-mode) "icon" "\
@@ -13774,7 +13613,7 @@ with no args, if that value is non-nil.
;;;***
;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;; (17239 32385))
+;;;;;; (17226 24577))
;;; Generated autoloads from progmodes/idlw-shell.el
(autoload (quote idlwave-shell) "idlw-shell" "\
@@ -13800,7 +13639,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
;;;***
;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;; (17205 6190))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/idlwave.el
(autoload (quote idlwave-mode) "idlwave" "\
@@ -13936,8 +13775,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" (17239
-;;;;;; 32211))
+;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17244
+;;;;;; 4913))
;;; Generated autoloads from ido.el
(defvar ido-mode nil "\
@@ -14198,7 +14037,7 @@ DEF, if non-nil, is the default value.
;;;***
-;;;### (autoloads (ielm) "ielm" "ielm.el" (17148 24990))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (17187 59901))
;;; Generated autoloads from ielm.el
(add-hook 'same-window-buffer-names "*ielm*")
@@ -14211,7 +14050,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
;;;***
;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el"
-;;;;;; (17148 24990))
+;;;;;; (17187 59901))
;;; Generated autoloads from iimage.el
(autoload (quote turn-on-iimage-mode) "iimage" "\
@@ -14229,7 +14068,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-name image-type-from-file-header image-type-from-buffer
-;;;;;; image-type-from-data) "image" "image.el" (17245 4868))
+;;;;;; image-type-from-data) "image" "image.el" (17257 22483))
;;; Generated autoloads from image.el
(autoload (quote image-type-from-data) "image" "\
@@ -14380,7 +14219,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" (17148 24990))
+;;;;;; "image-file.el" (17187 59901))
;;; Generated autoloads from image-file.el
(defvar image-file-name-extensions (quote ("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm")) "\
@@ -14443,7 +14282,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" (17205 6006))
+;;;;;; "image-mode" "image-mode.el" (17226 24576))
;;; Generated autoloads from image-mode.el
(push '("\\.jpe?g\\'" . image-mode) auto-mode-alist)
(push '("\\.png\\'" . image-mode) auto-mode-alist)
@@ -14481,7 +14320,7 @@ information on these modes.
;;;***
;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;; imenu-sort-function) "imenu" "imenu.el" (17148 24991))
+;;;;;; imenu-sort-function) "imenu" "imenu.el" (17187 59901))
;;; Generated autoloads from imenu.el
(defvar imenu-sort-function nil "\
@@ -14601,7 +14440,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" (17102 18773))
+;;;;;; "ind-util" "language/ind-util.el" (17187 59881))
;;; Generated autoloads from language/ind-util.el
(autoload (quote indian-compose-region) "ind-util" "\
@@ -14644,7 +14483,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" (17140 20976))
+;;;;;; "progmodes/inf-lisp.el" (17187 59902))
;;; Generated autoloads from progmodes/inf-lisp.el
(defvar inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "\
@@ -14711,7 +14550,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" (17248 29269))
+;;;;;; "info" "info.el" (17263 27852))
;;; Generated autoloads from info.el
(autoload (quote info-other-window) "info" "\
@@ -14870,7 +14709,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"
-;;;;;; (17148 24992))
+;;;;;; (17187 59901))
;;; Generated autoloads from info-look.el
(autoload (quote info-lookup-reset) "info-look" "\
@@ -14918,7 +14757,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" (17167 2781))
+;;;;;; info-xref-check) "info-xref" "info-xref.el" (17187 59901))
;;; Generated autoloads from info-xref.el
(autoload (quote info-xref-check) "info-xref" "\
@@ -14945,7 +14784,7 @@ quite a while.
;;;***
;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify)
-;;;;;; "informat" "informat.el" (17148 24995))
+;;;;;; "informat" "informat.el" (17187 59901))
;;; Generated autoloads from informat.el
(autoload (quote Info-tagify) "informat" "\
@@ -14986,7 +14825,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"
-;;;;;; (17120 44797))
+;;;;;; (17187 59901))
;;; Generated autoloads from international/isearch-x.el
(autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\
@@ -15006,8 +14845,8 @@ Not documented
;;;***
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17148
-;;;;;; 24996))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from isearchb.el
(autoload (quote isearchb-activate) "isearchb" "\
@@ -15021,7 +14860,7 @@ accessed via isearchb.
;;;***
;;;### (autoloads (iso-accents-mode) "iso-acc" "obsolete/iso-acc.el"
-;;;;;; (17148 25179))
+;;;;;; (17187 59902))
;;; Generated autoloads from obsolete/iso-acc.el
(autoload (quote iso-accents-mode) "iso-acc" "\
@@ -15054,7 +14893,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" (17102 18714))
+;;;;;; "international/iso-cvt.el" (17187 59880))
;;; Generated autoloads from international/iso-cvt.el
(autoload (quote iso-spanish) "iso-cvt" "\
@@ -15138,7 +14977,7 @@ Add submenus to the File menu, to convert to and from various formats.
;;;***
;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;; (17102 18715))
+;;;;;; (17187 59894))
;;; 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)
@@ -15151,7 +14990,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"
-;;;;;; (17244 43761))
+;;;;;; (17263 27852))
;;; Generated autoloads from textmodes/ispell.el
(defvar ispell-personal-dictionary nil "\
@@ -15175,11 +15014,11 @@ re-start emacs.")
(setq ispell-dictionary-alist-2 (quote (("czech" "[A-Za-z\301\311\314\315\323\332\331\335\256\251\310\330\317\253\322\341\351\354\355\363\372\371\375\276\271\350\370\357\273\362]" "[^A-Za-z\301\311\314\315\323\332\331\335\256\251\310\330\317\253\322\341\351\354\355\363\372\371\375\276\271\350\370\357\273\362]" "" nil ("-B") nil iso-8859-2) ("dansk" "[A-Z\306\330\305a-z\346\370\345]" "[^A-Z\306\330\305a-z\346\370\345]" "[']" nil ("-C") nil iso-8859-1) ("deutsch" "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t ("-C") "~tex" iso-8859-1) ("deutsch8" "[a-zA-Z\304\326\334\344\366\337\374]" "[^a-zA-Z\304\326\334\344\366\337\374]" "[']" t ("-C" "-d" "deutsch") "~latin1" iso-8859-1) ("english" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1))))
-(setq ispell-dictionary-alist-3 (quote (("esperanto" "[A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]" "[^A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]" "[-']" t ("-C") "~latin3" iso-8859-1) ("esperanto-tex" "[A-Za-z^\\]" "[^A-Za-z^\\]" "[-'`\"]" t ("-C" "-d" "esperanto") "~tex" iso-8859-1) ("francais7" "[A-Za-z]" "[^A-Za-z]" "[`'^---]" t nil nil iso-8859-1) ("francais" "[A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374]" "[^A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374]" "[-']" t nil "~list" iso-8859-1) ("francais-tex" "[A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374\\]" "[^A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374\\]" "[-'^`\"]" t nil "~tex" iso-8859-1))))
+(setq ispell-dictionary-alist-3 (quote (("esperanto" "[A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]" "[^A-Za-z\246\254\266\274\306\330\335\336\346\370\375\376]" "[-']" t ("-C") "~latin3" iso-8859-1) ("esperanto-tex" "[A-Za-z^\\]" "[^A-Za-z^\\]" "[-'`\"]" t ("-C" "-d" "esperanto") "~tex" iso-8859-1) ("francais7" "[A-Za-z]" "[^A-Za-z]" "[`'^---]" t nil nil iso-8859-1) ("francais" "[A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374]" "[^A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374]" "[-'.@]" t nil "~list" iso-8859-1) ("francais-tex" "[A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374\\]" "[^A-Za-z\300\302\306\307\310\311\312\313\316\317\324\331\333\334\340\342\347\350\351\352\353\356\357\364\371\373\374\\]" "[-'^`\".@]" t nil "~tex" iso-8859-1))))
-(setq ispell-dictionary-alist-4 (quote (("german" "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t ("-C") "~tex" iso-8859-1) ("german8" "[a-zA-Z\304\326\334\344\366\337\374]" "[^a-zA-Z\304\326\334\344\366\337\374]" "[']" t ("-C" "-d" "german") "~latin1" iso-8859-1) ("italiano" "[A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]" "[^A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]" "[-]" nil ("-B" "-d" "italian") "~tex" iso-8859-1) ("nederlands" "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1) ("nederlands8" "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1))))
+(setq ispell-dictionary-alist-4 (quote (("german" "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t ("-C") "~tex" iso-8859-1) ("german8" "[a-zA-Z\304\326\334\344\366\337\374]" "[^a-zA-Z\304\326\334\344\366\337\374]" "[']" t ("-C" "-d" "german") "~latin1" iso-8859-1) ("italiano" "[A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]" "[^A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]" "[-.]" nil ("-B" "-d" "italian") "~tex" iso-8859-1) ("nederlands" "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1) ("nederlands8" "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1))))
-(setq ispell-dictionary-alist-5 (quote (("norsk" "[A-Za-z\305\306\307\310\311\322\324\330\345\346\347\350\351\362\364\370]" "[^A-Za-z\305\306\307\310\311\322\324\330\345\346\347\350\351\362\364\370]" "[\"]" nil nil "~list" iso-8859-1) ("norsk7-tex" "[A-Za-z{}\\'^`]" "[^A-Za-z{}\\'^`]" "[\"]" nil ("-d" "norsk") "~plaintex" iso-8859-1) ("polish" "[A-Za-z\241\243\246\254\257\261\263\266\274\277\306\312\321\323\346\352\361\363]" "[^A-Za-z\241\243\246\254\257\261\263\266\274\277\306\312\321\323\346\352\361\363]" "" nil nil nil iso-8859-2) ("portugues" "[a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]" "[^a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]" "[']" t ("-C") "~latin1" iso-8859-1))))
+(setq ispell-dictionary-alist-5 (quote (("norsk" "[A-Za-z\305\306\307\310\311\322\324\330\345\346\347\350\351\362\364\370]" "[^A-Za-z\305\306\307\310\311\322\324\330\345\346\347\350\351\362\364\370]" "[\"]" nil nil "~list" iso-8859-1) ("norsk7-tex" "[A-Za-z{}\\'^`]" "[^A-Za-z{}\\'^`]" "[\"]" nil ("-d" "norsk") "~plaintex" iso-8859-1) ("polish" "[A-Za-z\241\243\246\254\257\261\263\266\274\277\306\312\321\323\346\352\361\363]" "[^A-Za-z\241\243\246\254\257\261\263\266\274\277\306\312\321\323\346\352\361\363]" "." nil nil nil iso-8859-2) ("portugues" "[a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]" "[^a-zA-Z\301\302\311\323\340\341\342\351\352\355\363\343\372]" "[']" t ("-C") "~latin1" iso-8859-1))))
(setq ispell-dictionary-alist-6 (quote (("russian" "[\341\342\367\347\344\345\263\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\370\371\377\374\340\361\301\302\327\307\304\305\243\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\330\331\337\334\300\321]" "[^\341\342\367\347\344\345\263\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373\375\370\371\377\374\340\361\301\302\327\307\304\305\243\326\332\311\312\313\314\315\316\317\320\322\323\324\325\306\310\303\336\333\335\330\331\337\334\300\321]" "" nil nil nil koi8-r) ("russianw" "[\300\301\302\303\304\305\250\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\334\333\332\335\336\337\340\341\342\343\344\345\270\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\374\373\372\375\376\377]" "[^\300\301\302\303\304\305\250\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\334\333\332\335\336\337\340\341\342\343\344\345\270\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\374\373\372\375\376\377]" "" nil nil nil windows-1251) ("slovak" "[A-Za-z\301\304\311\315\323\332\324\300\305\245\335\256\251\310\317\253\322\341\344\351\355\363\372\364\340\345\265\375\276\271\350\357\273\362]" "[^A-Za-z\301\304\311\315\323\332\324\300\305\245\335\256\251\310\317\253\322\341\344\351\355\363\372\364\340\345\265\375\276\271\350\357\273\362]" "" nil ("-B") nil iso-8859-2) ("slovenian" "[A-Za-z\301\304\311\315\323\332\324\300\305\245\335\256\251\310\317\253\322\341\344\351\355\363\372\364\340\345\265\375\276\271\350\357\273\362]" "[^A-Za-z\301\304\311\315\323\332\324\300\305\245\335\256\251\310\317\253\322\341\344\351\355\363\372\364\340\345\265\375\276\271\350\357\273\362]" "" nil ("-B" "-d" "slovenian") nil iso-8859-2) ("svenska" "[A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]" "[^A-Za-z\345\344\366\351\340\374\350\346\370\347\305\304\326\311\300\334\310\306\330\307]" "[']" nil ("-C") "~list" iso-8859-1))))
@@ -15437,8 +15276,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to
;;;***
-;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17239
-;;;;;; 32217))
+;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17263
+;;;;;; 27852))
;;; Generated autoloads from iswitchb.el
(defvar iswitchb-mode nil "\
@@ -15464,7 +15303,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" (17102 18773))
+;;;;;; "japan-util" "language/japan-util.el" (17187 59881))
;;; Generated autoloads from language/japan-util.el
(autoload (quote setup-japanese-environment-internal) "japan-util" "\
@@ -15541,22 +15380,8 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
;;;***
-;;;### (autoloads (jit-lock-register) "jit-lock" "jit-lock.el" (17246
-;;;;;; 24773))
-;;; Generated autoloads from jit-lock.el
-
-(autoload (quote jit-lock-register) "jit-lock" "\
-Register FUN as a fontification function to be called in this buffer.
-FUN will be called with two arguments START and END indicating the region
-that needs to be (re)fontified.
-If non-nil, CONTEXTUAL means that a contextual fontification would be useful.
-
-\(fn FUN &optional CONTEXTUAL)" nil nil)
-
-;;;***
-
;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;; "jka-compr.el" (17148 24997))
+;;;;;; "jka-compr.el" (17277 59649))
;;; Generated autoloads from jka-compr.el
(defvar jka-compr-inhibit nil "\
@@ -15581,7 +15406,7 @@ by `jka-compr-installed'.
;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;; (17140 20922))
+;;;;;; (17187 59901))
;;; Generated autoloads from emulation/keypad.el
(defvar keypad-setup nil "\
@@ -15637,7 +15462,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
;;;***
;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;; (17102 18716))
+;;;;;; (17187 59880))
;;; Generated autoloads from international/kinsoku.el
(autoload (quote kinsoku) "kinsoku" "\
@@ -15658,8 +15483,8 @@ the context of text formatting.
;;;***
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17102
-;;;;;; 18717))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17187
+;;;;;; 59880))
;;; Generated autoloads from international/kkc.el
(defvar kkc-after-update-conversion-functions nil "\
@@ -15684,7 +15509,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" (17148 24998))
+;;;;;; "kmacro.el" (17187 59901))
;;; Generated autoloads from kmacro.el
(global-set-key "\C-x(" 'kmacro-start-macro)
(global-set-key "\C-x)" 'kmacro-end-macro)
@@ -15791,7 +15616,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"
-;;;;;; (17102 18774))
+;;;;;; (17187 59881))
;;; Generated autoloads from language/knd-util.el
(defconst kannada-consonant "[\x51f75-\x51fb9]")
@@ -15814,7 +15639,7 @@ Not documented
;;;***
;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;; "language/korea-util.el" (17102 18775))
+;;;;;; "language/korea-util.el" (17187 59881))
;;; Generated autoloads from language/korea-util.el
(defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\
@@ -15829,7 +15654,7 @@ Not documented
;;;***
;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el"
-;;;;;; (17239 32365))
+;;;;;; (17226 24576))
;;; Generated autoloads from play/landmark.el
(defalias (quote landmark-repeat) (quote lm-test-run))
@@ -15863,8 +15688,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" (17102
-;;;;;; 18775))
+;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17187
+;;;;;; 59881))
;;; Generated autoloads from language/lao-util.el
(autoload (quote lao-compose-string) "lao-util" "\
@@ -15913,7 +15738,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" (17102 18717))
+;;;;;; "latexenc" "international/latexenc.el" (17187 59880))
;;; 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))) "\
@@ -15944,7 +15769,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" (17102 18720))
+;;;;;; "latin1-disp" "international/latin1-disp.el" (17187 59880))
;;; Generated autoloads from international/latin1-disp.el
(defvar latin1-display nil "\
@@ -15988,7 +15813,7 @@ use either \\[customize] or the function `latin1-display'.")
;;;***
;;;### (autoloads (turn-on-lazy-lock lazy-lock-mode) "lazy-lock"
-;;;;;; "obsolete/lazy-lock.el" (17185 27600))
+;;;;;; "obsolete/lazy-lock.el" (17187 59902))
;;; Generated autoloads from obsolete/lazy-lock.el
(autoload (quote lazy-lock-mode) "lazy-lock" "\
@@ -16056,10 +15881,10 @@ Unconditionally turn on Lazy Lock mode.
;;;***
;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;; (17159 1485))
+;;;;;; (17263 27852))
;;; Generated autoloads from progmodes/ld-script.el
-(add-to-list (quote auto-mode-alist) (quote ("\\.lds" . ld-script-mode)))
+(add-to-list (quote auto-mode-alist) (quote ("\\.ld[s]?\\(\\.in\\)?$" . ld-script-mode)))
(autoload (quote ld-script-mode) "ld-script" "\
A major mode to edit GNU ld script files
@@ -16069,7 +15894,7 @@ A major mode to edit GNU ld script files
;;;***
;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;; (17148 25013))
+;;;;;; (17187 59901))
;;; Generated autoloads from ledit.el
(defconst ledit-save-files t "\
@@ -16103,7 +15928,7 @@ Not documented
;;;***
-;;;### (autoloads (life) "life" "play/life.el" (17140 20949))
+;;;### (autoloads (life) "life" "play/life.el" (17187 59902))
;;; Generated autoloads from play/life.el
(autoload (quote life) "life" "\
@@ -16116,8 +15941,8 @@ generations (this defaults to 1).
;;;***
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17242
-;;;;;; 7308))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17244
+;;;;;; 4913))
;;; Generated autoloads from loadhist.el
(autoload (quote unload-feature) "loadhist" "\
@@ -16140,7 +15965,7 @@ such as redefining an Emacs function.
;;;***
;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;; "locate" "locate.el" (17244 43734))
+;;;;;; "locate" "locate.el" (17257 22483))
;;; Generated autoloads from locate.el
(defvar locate-ls-subdir-switches "-al" "\
@@ -16165,7 +15990,7 @@ shown; this is often useful to constrain a big search.
;;;***
-;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17239 32218))
+;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17226 24576))
;;; Generated autoloads from log-edit.el
(autoload (quote log-edit) "log-edit" "\
@@ -16186,8 +16011,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" (17185
-;;;;;; 27447))
+;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from log-view.el
(autoload (quote log-view-mode) "log-view" "\
@@ -16197,8 +16022,8 @@ Major mode for browsing CVS log output.
;;;***
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17248
-;;;;;; 29269))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17257
+;;;;;; 22483))
;;; Generated autoloads from longlines.el
(autoload (quote longlines-mode) "longlines" "\
@@ -16219,8 +16044,8 @@ are indicated with a symbol.
;;;***
;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17148
-;;;;;; 25014))
+;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from lpr.el
(defvar lpr-windows-system (memq system-type (quote (emx win32 w32 mswindows ms-dos windows-nt))))
@@ -16314,7 +16139,7 @@ for further customization of the printer command.
;;;***
;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;; (17148 25015))
+;;;;;; (17187 59901))
;;; Generated autoloads from ls-lisp.el
(defvar ls-lisp-support-shell-wildcards t "\
@@ -16325,8 +16150,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
;;;***
-;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17167
-;;;;;; 2792))
+;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from calendar/lunar.el
(autoload (quote phases-of-moon) "lunar" "\
@@ -16339,8 +16164,8 @@ This function is suitable for execution in a .emacs file.
;;;***
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17140
-;;;;;; 20977))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/m4-mode.el
(autoload (quote m4-mode) "m4-mode" "\
@@ -16352,7 +16177,7 @@ A major mode to edit m4 macro files.
;;;***
;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;; (17148 25097))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/macroexp.el
(autoload (quote macroexpand-all) "macroexp" "\
@@ -16366,7 +16191,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" (17148 25015))
+;;;;;; name-last-kbd-macro) "macros" "macros.el" (17187 59901))
;;; Generated autoloads from macros.el
(autoload (quote name-last-kbd-macro) "macros" "\
@@ -16455,7 +16280,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" (17148 25155))
+;;;;;; "mail/mail-extr.el" (17187 59901))
;;; Generated autoloads from mail/mail-extr.el
(autoload (quote mail-extract-address-components) "mail-extr" "\
@@ -16486,7 +16311,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"
-;;;;;; (17148 25156))
+;;;;;; (17187 59901))
;;; Generated autoloads from mail/mail-hist.el
(autoload (quote mail-hist-define-keys) "mail-hist" "\
@@ -16517,8 +16342,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" (17148
-;;;;;; 25156))
+;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from mail/mail-utils.el
(defvar mail-use-rfc822 nil "\
@@ -16570,7 +16395,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" (17239 32330))
+;;;;;; "mailabbrev" "mail/mailabbrev.el" (17238 21257))
;;; Generated autoloads from mail/mailabbrev.el
(autoload (quote mail-abbrevs-setup) "mailabbrev" "\
@@ -16593,8 +16418,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" (17167
-;;;;;; 2797))
+;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from mail/mailalias.el
(defvar mail-complete-style (quote angles) "\
@@ -16640,7 +16465,7 @@ current header, calls `mail-complete-function' and passes prefix arg if any.
;;;***
;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
-;;;;;; (17239 32330))
+;;;;;; (17226 24564))
;;; Generated autoloads from mail/mailclient.el
(autoload (quote mailclient-send-it) "mailclient" "\
@@ -16654,7 +16479,7 @@ The mail client is taken to be the handler of mailto URLs.
;;;### (autoloads (makefile-bsdmake-mode makefile-makepp-mode makefile-gmake-mode
;;;;;; makefile-automake-mode makefile-mode) "make-mode" "progmodes/make-mode.el"
-;;;;;; (17239 32386))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/make-mode.el
(autoload (quote makefile-mode) "make-mode" "\
@@ -16766,8 +16591,8 @@ An adapted `makefile-mode' that knows about BSD make.
;;;***
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17148
-;;;;;; 25015))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from makesum.el
(autoload (quote make-command-summary) "makesum" "\
@@ -16778,7 +16603,7 @@ Previous contents of that buffer are killed first.
;;;***
-;;;### (autoloads (man-follow man) "man" "man.el" (17239 32219))
+;;;### (autoloads (man-follow man) "man" "man.el" (17277 59650))
;;; Generated autoloads from man.el
(defalias (quote manual-entry) (quote man))
@@ -16805,7 +16630,7 @@ Get a Un*x manual page of the item under point and put it in a buffer.
;;;***
-;;;### (autoloads (master-mode) "master" "master.el" (17148 25016))
+;;;### (autoloads (master-mode) "master" "master.el" (17187 59902))
;;; Generated autoloads from master.el
(autoload (quote master-mode) "master" "\
@@ -16827,8 +16652,8 @@ yourself the value of `master-of' by calling `master-show-slave'.
;;;***
-;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17246
-;;;;;; 34622))
+;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17277
+;;;;;; 59650))
;;; Generated autoloads from menu-bar.el
(put (quote menu-bar-mode) (quote standard-value) (quote (t)))
@@ -16864,7 +16689,7 @@ turn on menu bars; otherwise, turn off menu bars.
;;;;;; 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" (17242 24871))
+;;;;;; "gnus/message.el" (17277 60154))
;;; Generated autoloads from gnus/message.el
(defvar message-from-style (quote default) "\
@@ -17118,7 +16943,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;; (17239 32386))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/meta-mode.el
(autoload (quote metafont-mode) "meta-mode" "\
@@ -17145,7 +16970,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"
-;;;;;; (17185 27569))
+;;;;;; (17187 59902))
;;; Generated autoloads from mail/metamail.el
(autoload (quote metamail-interpret-header) "metamail" "\
@@ -17188,26 +17013,29 @@ 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" (17249
-;;;;;; 49352))
+;;;### (autoloads (mh-letter-mode mh-user-agent-compose mh-smail-batch
+;;;;;; mh-smail-other-window mh-smail) "mh-comp" "mh-e/mh-comp.el"
+;;;;;; (17263 27852))
;;; Generated autoloads from mh-e/mh-comp.el
(autoload (quote mh-smail) "mh-comp" "\
-Compose and send mail with the MH mail system.
-This function is an entry point to MH-E, the Emacs interface to the MH mail
-system.
+Compose a message with the MH mail system.
+See `mh-send' for more details on composing mail.
+\(fn)" t nil)
+
+(autoload (quote mh-smail-other-window) "mh-comp" "\
+Compose a message with the MH mail system in other window.
See `mh-send' for more details on composing mail.
\(fn)" t nil)
(autoload (quote mh-smail-batch) "mh-comp" "\
-Set up a mail composition draft with the MH mail system.
-This function is an entry point to MH-E, the Emacs interface to the MH mail
-system. This function does not prompt the user for any header fields, and thus
+Compose a message with the MH mail system.
+
+This function does not prompt the user for any header fields, and thus
is suitable for use by programs that want to create a mail buffer. Users
-should use `mh-smail' to compose mail.
+should use \\[mh-smail] to compose mail.
Optional arguments for setting certain fields include TO, SUBJECT, and
OTHER-HEADERS. Additional arguments are IGNORED.
@@ -17229,15 +17057,6 @@ CONTINUE, SWITCH-FUNCTION, YANK-ACTION and SEND-ACTIONS are ignored.
\(fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS)" nil nil)
-(autoload (quote mh-smail-other-window) "mh-comp" "\
-Compose and send mail in other window with the MH mail system.
-This function is an entry point to MH-E, the Emacs interface to the MH mail
-system.
-
-See `mh-send' for more details on composing mail.
-
-\(fn)" t nil)
-
(autoload (quote mh-letter-mode) "mh-comp" "\
Mode for composing letters in MH-E.\\<mh-letter-mode-map>
@@ -17262,7 +17081,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" (17249 49352))
+;;;;;; "mh-e/mh-e.el" (17263 27852))
;;; Generated autoloads from mh-e/mh-e.el
(autoload (quote mh-rmail) "mh-e" "\
@@ -17340,7 +17159,7 @@ messages in that region.
;;;***
-;;;### (autoloads nil "mh-init" "mh-e/mh-init.el" (17239 32348))
+;;;### (autoloads nil "mh-init" "mh-e/mh-init.el" (17263 27852))
;;; Generated autoloads from mh-e/mh-init.el
(put (quote mh-progs) (quote risky-local-variable) t)
@@ -17352,7 +17171,7 @@ messages in that region.
;;;***
;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;; "midnight.el" (17148 25017))
+;;;;;; "midnight.el" (17187 59902))
;;; Generated autoloads from midnight.el
(autoload (quote clean-buffer-list) "midnight" "\
@@ -17379,7 +17198,7 @@ to its second argument TM.
;;;***
;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;; "minibuf-eldef.el" (17148 25017))
+;;;;;; "minibuf-eldef.el" (17187 59902))
;;; Generated autoloads from minibuf-eldef.el
(defvar minibuffer-electric-default-mode nil "\
@@ -17408,7 +17227,7 @@ Returns non-nil if the new state is enabled.
;;;***
;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;; (17239 32387))
+;;;;;; (17238 21095))
;;; Generated autoloads from progmodes/mixal-mode.el
(autoload (quote mixal-mode) "mixal-mode" "\
@@ -17423,7 +17242,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"
-;;;;;; (17102 18776))
+;;;;;; (17187 59881))
;;; Generated autoloads from language/mlm-util.el
(autoload (quote malayalam-compose-region) "mlm-util" "\
@@ -17446,7 +17265,7 @@ PATTERN regexp.
;;;***
;;;### (autoloads (mm-inline-external-body) "mm-extern" "gnus/mm-extern.el"
-;;;;;; (17185 27553))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/mm-extern.el
(autoload (quote mm-inline-external-body) "mm-extern" "\
@@ -17460,7 +17279,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
;;;***
;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;; (17148 25140))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/mm-partial.el
(autoload (quote mm-inline-partial) "mm-partial" "\
@@ -17474,7 +17293,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" (17239 32315))
+;;;;;; "mm-url" "gnus/mm-url.el" (17226 24575))
;;; Generated autoloads from gnus/mm-url.el
(autoload (quote mm-url-insert-file-contents) "mm-url" "\
@@ -17490,8 +17309,8 @@ Insert file contents of URL using `mm-url-program'.
;;;***
-;;;### (autoloads (mm-uu-dissect) "mm-uu" "gnus/mm-uu.el" (17239
-;;;;;; 32316))
+;;;### (autoloads (mm-uu-dissect) "mm-uu" "gnus/mm-uu.el" (17226
+;;;;;; 24575))
;;; Generated autoloads from gnus/mm-uu.el
(autoload (quote mm-uu-dissect) "mm-uu" "\
@@ -17502,7 +17321,7 @@ Dissect the current buffer and return a list of uu handles.
;;;***
;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;; (17185 27556))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/mml1991.el
(autoload (quote mml1991-encrypt) "mml1991" "\
@@ -17519,7 +17338,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" (17185 27558))
+;;;;;; "mml2015" "gnus/mml2015.el" (17187 59901))
;;; Generated autoloads from gnus/mml2015.el
(autoload (quote mml2015-decrypt) "mml2015" "\
@@ -17560,7 +17379,7 @@ Not documented
;;;***
;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el"
-;;;;;; (17075 55530))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/modula2.el
(autoload (quote modula-2-mode) "modula2" "\
@@ -17592,7 +17411,7 @@ followed by the first character of the construct.
;;;***
;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el"
-;;;;;; (17140 20949))
+;;;;;; (17187 59902))
;;; Generated autoloads from play/morse.el
(autoload (quote morse-region) "morse" "\
@@ -17607,8 +17426,8 @@ Convert morse coded text in region to ordinary ASCII text.
;;;***
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17148
-;;;;;; 25018))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from mouse-sel.el
(defvar mouse-sel-mode nil "\
@@ -17661,7 +17480,7 @@ primary selection and region.
;;;***
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17239 32365))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17226 24576))
;;; Generated autoloads from play/mpuz.el
(autoload (quote mpuz) "mpuz" "\
@@ -17671,7 +17490,7 @@ Multiplication puzzle with GNU Emacs.
;;;***
-;;;### (autoloads (msb-mode) "msb" "msb.el" (17185 27455))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (17187 59914))
;;; Generated autoloads from msb.el
(defvar msb-mode nil "\
@@ -17699,7 +17518,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"
-;;;;;; (17239 32324))
+;;;;;; (17226 24576))
;;; 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))))) "\
@@ -17872,7 +17691,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" (17102 18726))
+;;;;;; "mule-util" "international/mule-util.el" (17187 59880))
;;; Generated autoloads from international/mule-util.el
(autoload (quote string-to-sequence) "mule-util" "\
@@ -18001,7 +17820,7 @@ basis, this may not be accurate.
;;;***
;;;### (autoloads (mwheel-install mouse-wheel-mode) "mwheel" "mwheel.el"
-;;;;;; (17148 25020))
+;;;;;; (17263 27079))
;;; Generated autoloads from mwheel.el
(defvar mouse-wheel-mode nil "\
@@ -18031,7 +17850,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" (17148 25173))
+;;;;;; "net-utils" "net/net-utils.el" (17187 59902))
;;; Generated autoloads from net/net-utils.el
(autoload (quote traceroute) "net-utils" "\
@@ -18127,7 +17946,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"
-;;;;;; (17148 25021))
+;;;;;; (17263 27852))
;;; Generated autoloads from newcomment.el
(defalias (quote indent-for-comment) (quote comment-indent))
@@ -18308,8 +18127,9 @@ unless optional argument SOFT is non-nil.
;;;***
-;;;### (autoloads (newsticker-show-news newsticker-start) "newsticker"
-;;;;;; "net/newsticker.el" (17239 32359))
+;;;### (autoloads (newsticker-ticker-running-p newsticker-running-p
+;;;;;; newsticker-show-news newsticker-start-ticker newsticker-start)
+;;;;;; "newsticker" "net/newsticker.el" (17263 27852))
;;; Generated autoloads from net/newsticker.el
(autoload (quote newsticker-start) "newsticker" "\
@@ -18321,15 +18141,37 @@ Run `newsticker-start-hook' if newsticker was not running already.
\(fn &optional DO-NOT-COMPLAIN-IF-RUNNING)" t nil)
+(autoload (quote newsticker-start-ticker) "newsticker" "\
+Start newsticker's ticker (but not the news retrieval).
+Start display timer for the actual ticker if wanted and not
+running already.
+
+\(fn)" t nil)
+
(autoload (quote newsticker-show-news) "newsticker" "\
Switch to newsticker buffer. You may want to bind this to a key.
\(fn)" t nil)
+(autoload (quote newsticker-running-p) "newsticker" "\
+Check whether newsticker is running.
+Return t if newsticker is running, nil otherwise. Newsticker is
+considered to be running if the newsticker timer list is not empty.
+
+\(fn)" nil nil)
+
+(autoload (quote newsticker-ticker-running-p) "newsticker" "\
+Check whether newsticker's actual ticker is running.
+Return t if ticker is running, nil otherwise. Newsticker is
+considered to be running if the newsticker timer list is not
+empty.
+
+\(fn)" nil nil)
+
;;;***
;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;; (17148 25143))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/nndiary.el
(autoload (quote nndiary-generate-nov-databases) "nndiary" "\
@@ -18339,8 +18181,8 @@ Generate NOV databases in all nndiary directories.
;;;***
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17148
-;;;;;; 25143))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from gnus/nndoc.el
(autoload (quote nndoc-add-type) "nndoc" "\
@@ -18355,7 +18197,7 @@ symbol in the alist.
;;;***
;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;; (17148 25144))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/nnfolder.el
(autoload (quote nnfolder-generate-active-file) "nnfolder" "\
@@ -18367,7 +18209,7 @@ This command does not work if you use short group names.
;;;***
;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el"
-;;;;;; (17148 25145))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/nnkiboze.el
(autoload (quote nnkiboze-generate-groups) "nnkiboze" "\
@@ -18379,7 +18221,7 @@ Finds out what articles are to be part of the nnkiboze groups.
;;;***
;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;; (17148 25147))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/nnml.el
(autoload (quote nnml-generate-nov-databases) "nnml" "\
@@ -18390,7 +18232,7 @@ Generate NOV databases in all nnml directories.
;;;***
;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies)
-;;;;;; "nnsoup" "gnus/nnsoup.el" (17148 25148))
+;;;;;; "nnsoup" "gnus/nnsoup.el" (17187 59901))
;;; Generated autoloads from gnus/nnsoup.el
(autoload (quote nnsoup-pack-replies) "nnsoup" "\
@@ -18411,7 +18253,7 @@ Revert posting and mailing methods to the standard Emacs methods.
;;;***
;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;; "novice" "novice.el" (17148 25021))
+;;;;;; "novice" "novice.el" (17187 59902))
;;; Generated autoloads from novice.el
(defvar disabled-command-function (quote disabled-command-function) "\
@@ -18444,7 +18286,7 @@ to future sessions.
;;;***
;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;; (17148 25209))
+;;;;;; (17277 60154))
;;; Generated autoloads from textmodes/nroff-mode.el
(autoload (quote nroff-mode) "nroff-mode" "\
@@ -18459,7 +18301,7 @@ closing requests for requests that are used in matched pairs.
;;;***
;;;### (autoloads (octave-help) "octave-hlp" "progmodes/octave-hlp.el"
-;;;;;; (17167 7196))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/octave-hlp.el
(autoload (quote octave-help) "octave-hlp" "\
@@ -18473,7 +18315,7 @@ If KEY is not a string, prompt for it with completion.
;;;***
;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;; (17186 62981))
+;;;;;; (17187 59926))
;;; Generated autoloads from progmodes/octave-inf.el
(autoload (quote inferior-octave) "octave-inf" "\
@@ -18496,7 +18338,7 @@ startup file, `~/.emacs-octave'.
;;;***
;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;; (17239 32387))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/octave-mod.el
(autoload (quote octave-mode) "octave-mod" "\
@@ -18595,7 +18437,7 @@ including a reproducible test case and send the message.
;;;***
;;;### (autoloads (edit-options list-options) "options" "obsolete/options.el"
-;;;;;; (17148 25181))
+;;;;;; (17187 59902))
;;; Generated autoloads from obsolete/options.el
(autoload (quote list-options) "options" "\
@@ -18619,7 +18461,7 @@ The Custom feature is intended to make this obsolete.
;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
;;;;;; 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" (17245 51610))
+;;;;;; "org" "textmodes/org.el" (17277 59650))
;;; Generated autoloads from textmodes/org.el
(autoload (quote org-mode) "org" "\
@@ -18790,7 +18632,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
;;;***
;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;; (17239 32223))
+;;;;;; (17226 24576))
;;; Generated autoloads from outline.el
(autoload (quote outline-mode) "outline" "\
@@ -18845,7 +18687,7 @@ See the command `outline-mode' for more information on this mode.
;;;***
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17148 25021))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17187 59902))
;;; Generated autoloads from paren.el
(defvar show-paren-mode nil "\
@@ -18871,7 +18713,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time.
;;;***
;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;; (17102 18474))
+;;;;;; (17187 59880))
;;; Generated autoloads from calendar/parse-time.el
(autoload (quote parse-time-string) "parse-time" "\
@@ -18883,8 +18725,8 @@ unknown are returned as nil.
;;;***
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17239
-;;;;;; 32388))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/pascal.el
(autoload (quote pascal-mode) "pascal" "\
@@ -18937,7 +18779,7 @@ no args, if that value is non-nil.
;;;***
;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el"
-;;;;;; (17140 20922))
+;;;;;; (17187 59901))
;;; Generated autoloads from emulation/pc-mode.el
(autoload (quote pc-bindings-mode) "pc-mode" "\
@@ -18955,7 +18797,7 @@ C-Escape does list-buffers.
;;;***
;;;### (autoloads (pc-selection-mode pc-selection-mode) "pc-select"
-;;;;;; "emulation/pc-select.el" (17140 20922))
+;;;;;; "emulation/pc-select.el" (17187 59901))
;;; Generated autoloads from emulation/pc-select.el
(defvar pc-selection-mode nil "\
@@ -19032,8 +18874,8 @@ you must modify it using \\[customize] or \\[pc-selection-mode].")
;;;***
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17148
-;;;;;; 25022))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from pcmpl-cvs.el
(autoload (quote pcomplete/cvs) "pcmpl-cvs" "\
@@ -19044,7 +18886,7 @@ Completion rules for the `cvs' command.
;;;***
;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17148 25022))
+;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17187 59902))
;;; Generated autoloads from pcmpl-gnu.el
(autoload (quote pcomplete/gzip) "pcmpl-gnu" "\
@@ -19072,7 +18914,7 @@ Completion for the GNU tar utility.
;;;***
;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17148 25022))
+;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17187 59902))
;;; Generated autoloads from pcmpl-linux.el
(autoload (quote pcomplete/kill) "pcmpl-linux" "\
@@ -19092,8 +18934,8 @@ Completion for GNU/Linux `mount'.
;;;***
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17148
-;;;;;; 25022))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from pcmpl-rpm.el
(autoload (quote pcomplete/rpm) "pcmpl-rpm" "\
@@ -19109,7 +18951,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" (17148 25022))
+;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17187 59902))
;;; Generated autoloads from pcmpl-unix.el
(autoload (quote pcomplete/cd) "pcmpl-unix" "\
@@ -19155,8 +18997,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" (17205
-;;;;;; 6017))
+;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17226
+;;;;;; 24576))
;;; Generated autoloads from pcomplete.el
(autoload (quote pcomplete) "pcomplete" "\
@@ -19215,7 +19057,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" (17239 32224))
+;;;;;; "pcvs.el" (17238 21257))
;;; Generated autoloads from pcvs.el
(autoload (quote cvs-checkout) "pcvs" "\
@@ -19292,7 +19134,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
;;;***
-;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17194 38169))
+;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17196 27217))
;;; 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)))
@@ -19300,7 +19142,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
;;;***
;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;; (17185 27660))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/perl-mode.el
(autoload (quote perl-mode) "perl-mode" "\
@@ -19357,55 +19199,101 @@ 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"
-;;;;;; "pgg.el" (17244 47844))
+;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region
+;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (17263 27852))
;;; Generated autoloads from pgg.el
(autoload (quote pgg-encrypt-region) "pgg" "\
Encrypt the current region between START and END for RCPTS.
+
If optional argument SIGN is non-nil, do a combined sign and encrypt.
-\(fn START END RCPTS &optional SIGN)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn START END RCPTS &optional SIGN PASSPHRASE)" t nil)
+
+(autoload (quote pgg-encrypt-symmetric-region) "pgg" "\
+Encrypt the current region between START and END symmetric with passphrase.
+
+If optional PASSPHRASE is not specified, it will be obtained from the
+cache or user.
+
+\(fn START END &optional PASSPHRASE)" t nil)
+
+(autoload (quote pgg-encrypt-symmetric) "pgg" "\
+Encrypt the current buffer using a symmetric, rather than key-pair, cipher.
+
+If optional arguments START and END are specified, only encrypt within
+the region.
+
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn &optional START END PASSPHRASE)" t nil)
(autoload (quote pgg-encrypt) "pgg" "\
Encrypt the current buffer for RCPTS.
+
If optional argument SIGN is non-nil, do a combined sign and encrypt.
+
If optional arguments START and END are specified, only encrypt within
the region.
-\(fn RCPTS &optional SIGN START END)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn RCPTS &optional SIGN START END PASSPHRASE)" t nil)
(autoload (quote pgg-decrypt-region) "pgg" "\
Decrypt the current region between START and END.
-\(fn START END)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn START END &optional PASSPHRASE)" t nil)
(autoload (quote pgg-decrypt) "pgg" "\
Decrypt the current buffer.
+
If optional arguments START and END are specified, only decrypt within
the region.
-\(fn &optional START END)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn &optional START END PASSPHRASE)" t nil)
(autoload (quote pgg-sign-region) "pgg" "\
Make the signature from text between START and END.
+
If the optional 3rd argument CLEARTEXT is non-nil, it does not create
a detached signature.
+
If this function is called interactively, CLEARTEXT is enabled
and the the output is displayed.
-\(fn START END &optional CLEARTEXT)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn START END &optional CLEARTEXT PASSPHRASE)" t nil)
(autoload (quote pgg-sign) "pgg" "\
Sign the current buffer.
+
If the optional argument CLEARTEXT is non-nil, it does not create a
detached signature.
+
If optional arguments START and END are specified, only sign data
within the region.
+
If this function is called interactively, CLEARTEXT is enabled
and the the output is displayed.
-\(fn &optional CLEARTEXT START END)" t nil)
+If optional PASSPHRASE is not specified, it will be obtained from the
+passphrase cache or user.
+
+\(fn &optional CLEARTEXT START END PASSPHRASE)" t nil)
(autoload (quote pgg-verify-region) "pgg" "\
Verify the current region between START and END.
@@ -19445,8 +19333,19 @@ Import public keys in the current buffer.
;;;***
+;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el"
+;;;;;; (17263 27852))
+;;; Generated autoloads from pgg-gpg.el
+
+(autoload (quote pgg-gpg-symmetric-key-p) "pgg-gpg" "\
+True if decoded armor MESSAGE-KEYS has symmetric encryption indicator.
+
+\(fn MESSAGE-KEYS)" nil nil)
+
+;;;***
+
;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;; (17148 25215))
+;;;;;; (17187 59902))
;;; Generated autoloads from textmodes/picture.el
(autoload (quote picture-mode) "picture" "\
@@ -19518,7 +19417,7 @@ they are not defaultly assigned to keys.
;;;***
;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;; (17148 25215))
+;;;;;; (17187 59902))
;;; Generated autoloads from textmodes/po.el
(autoload (quote po-find-file-coding-system) "po" "\
@@ -19529,7 +19428,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
;;;***
-;;;### (autoloads (pong) "pong" "play/pong.el" (17140 20949))
+;;;### (autoloads (pong) "pong" "play/pong.el" (17187 59902))
;;; Generated autoloads from play/pong.el
(autoload (quote pong) "pong" "\
@@ -19546,7 +19445,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" (17185 27496))
+;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/pp.el
(autoload (quote pp-to-string) "pp" "\
@@ -19604,7 +19503,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"
-;;;;;; (17239 32228))
+;;;;;; (17277 59650))
;;; Generated autoloads from printing.el
(autoload (quote pr-interface) "printing" "\
@@ -20192,7 +20091,7 @@ are both set to t.
;;;***
;;;### (autoloads (run-prolog prolog-mode) "prolog" "progmodes/prolog.el"
-;;;;;; (17185 27661))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/prolog.el
(autoload (quote prolog-mode) "prolog" "\
@@ -20212,7 +20111,7 @@ Run an inferior Prolog process, input and output via buffer *prolog*.
;;;***
-;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17131 20680))
+;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17187 59902))
;;; 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"))) "\
@@ -20221,8 +20120,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
;;;***
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17205
-;;;;;; 6191))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/ps-mode.el
(autoload (quote ps-mode) "ps-mode" "\
@@ -20271,7 +20170,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" (17239 32229))
+;;;;;; "ps-mule" "ps-mule.el" (17226 24577))
;;; Generated autoloads from ps-mule.el
(defvar ps-multibyte-buffer nil "\
@@ -20392,8 +20291,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" (17239
-;;;;;; 32233))
+;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (17226
+;;;;;; 24577))
;;; 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")) "\
@@ -20590,7 +20489,7 @@ If EXTENSION is any other symbol, it is ignored.
;;;***
;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el"
-;;;;;; (17239 32390))
+;;;;;; (17238 21257))
;;; Generated autoloads from progmodes/python.el
(add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode)))
@@ -20654,7 +20553,7 @@ Runs `jython-mode-hook' after `python-mode-hook'.
;;;***
;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;; (17148 25151))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/qp.el
(autoload (quote quoted-printable-decode-region) "qp" "\
@@ -20677,7 +20576,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" (17249 49351))
+;;;;;; "international/quail.el" (17257 22483))
;;; Generated autoloads from international/quail.el
(autoload (quote quail-title) "quail" "\
@@ -20908,8 +20807,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" (17140
-;;;;;; 20942))
+;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17187
+;;;;;; 59902))
;;; 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" "\
@@ -20980,7 +20879,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
;;;***
-;;;### (autoloads (rcirc) "rcirc" "net/rcirc.el" (17240 44365))
+;;;### (autoloads (rcirc) "rcirc" "net/rcirc.el" (17263 27852))
;;; Generated autoloads from net/rcirc.el
(autoload (quote rcirc) "rcirc" "\
@@ -20988,7 +20887,7 @@ Connect to IRC.
If any of the the optional SERVER, PORT, NICK or CHANNELS are not
supplied, they are taken from the variables `rcirc-server',
-`rcirc-port', `rcirc-nick', and `rcirc-startup-channels',
+`rcirc-port', `rcirc-nick', and `rcirc-startup-channels-alist',
respectively.
\(fn &optional SERVER PORT NICK CHANNELS)" t nil)
@@ -20997,8 +20896,8 @@ respectively.
;;;***
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17239
-;;;;;; 32359))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17226
+;;;;;; 24576))
;;; Generated autoloads from net/rcompile.el
(autoload (quote remote-compile) "rcompile" "\
@@ -21010,7 +20909,7 @@ See \\[compile].
;;;***
;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;; (17148 25097))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/re-builder.el
(defalias (quote regexp-builder) (quote re-builder))
@@ -21022,7 +20921,7 @@ Construct a regexp interactively.
;;;***
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17239 32234))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17238 21257))
;;; Generated autoloads from recentf.el
(defvar recentf-mode nil "\
@@ -21052,8 +20951,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" (17239
-;;;;;; 32234))
+;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17226
+;;;;;; 24577))
;;; Generated autoloads from rect.el
(autoload (quote move-to-column-force) "rect" "\
@@ -21175,8 +21074,8 @@ rectangle which were empty.
;;;***
-;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17148
-;;;;;; 25216))
+;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from textmodes/refill.el
(autoload (quote refill-mode) "refill" "\
@@ -21192,7 +21091,7 @@ refilling if they would cause auto-filling.
;;;***
;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17205 6264))
+;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17277 59650))
;;; Generated autoloads from textmodes/reftex.el
(autoload (quote turn-on-reftex) "reftex" "\
@@ -21242,7 +21141,7 @@ This enforces rescanning the buffer on next use.
;;;***
;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;; (17205 6249))
+;;;;;; (17226 24577))
;;; Generated autoloads from textmodes/reftex-cite.el
(autoload (quote reftex-citation) "reftex-cite" "\
@@ -21272,7 +21171,7 @@ While entering the regexp, completion on knows citation keys is possible.
;;;***
;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;; (17205 6250))
+;;;;;; (17226 24577))
;;; Generated autoloads from textmodes/reftex-global.el
(autoload (quote reftex-isearch-minor-mode) "reftex-global" "\
@@ -21289,7 +21188,7 @@ With no argument, this command toggles
;;;***
;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;; (17239 32421))
+;;;;;; (17226 24577))
;;; Generated autoloads from textmodes/reftex-index.el
(autoload (quote reftex-index-phrases-mode) "reftex-index" "\
@@ -21322,7 +21221,7 @@ Here are all local bindings.
;;;***
;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;; (17205 6254))
+;;;;;; (17226 24578))
;;; Generated autoloads from textmodes/reftex-parse.el
(autoload (quote reftex-all-document-files) "reftex-parse" "\
@@ -21335,7 +21234,7 @@ of master file.
;;;***
;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;; (17148 25097))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/regexp-opt.el
(autoload (quote regexp-opt) "regexp-opt" "\
@@ -21362,7 +21261,7 @@ This means the number of non-shy regexp grouping constructs
;;;***
-;;;### (autoloads (repeat) "repeat" "repeat.el" (17148 25034))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (17187 59902))
;;; Generated autoloads from repeat.el
(autoload (quote repeat) "repeat" "\
@@ -21380,7 +21279,7 @@ can be modified by the global variable `repeat-on-final-keystroke'.
;;;***
;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;; (17148 25157))
+;;;;;; (17187 59902))
;;; Generated autoloads from mail/reporter.el
(autoload (quote reporter-submit-bug-report) "reporter" "\
@@ -21412,7 +21311,7 @@ mail-sending package is used for editing and sending the message.
;;;***
;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;; (17148 25035))
+;;;;;; (17187 59902))
;;; Generated autoloads from reposition.el
(autoload (quote reposition-window) "reposition" "\
@@ -21439,8 +21338,8 @@ first comment line visible (if point is in a comment).
;;;***
-;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17148
-;;;;;; 25035))
+;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from resume.el
(autoload (quote resume-suspend-hook) "resume" "\
@@ -21451,7 +21350,7 @@ Clear out the file used for transmitting args when Emacs resumes.
;;;***
;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;; (17148 25035))
+;;;;;; (17277 59650))
;;; Generated autoloads from reveal.el
(autoload (quote reveal-mode) "reveal" "\
@@ -21486,54 +21385,8 @@ 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"
-;;;;;; (17148 25035))
-;;; Generated autoloads from rfn-eshadow.el
-
-(defvar file-name-shadow-properties (quote (face file-name-shadow field shadow)) "\
-Properties given to the `shadowed' part of a filename in the minibuffer.
-Only used when `file-name-shadow-mode' is active.
-If emacs is not running under a window system,
-`file-name-shadow-tty-properties' is used instead.")
-
-(custom-autoload (quote file-name-shadow-properties) "rfn-eshadow")
-
-(defvar file-name-shadow-tty-properties (quote (before-string "{" after-string "} " field shadow)) "\
-Properties given to the `shadowed' part of a filename in the minibuffer.
-Only used when `file-name-shadow-mode' is active and emacs
-is not running under a window-system; if emacs is running under a window
-system, `file-name-shadow-properties' is used instead.")
-
-(custom-autoload (quote file-name-shadow-tty-properties) "rfn-eshadow")
-
-(defvar file-name-shadow-mode nil "\
-Non-nil if File-Name-Shadow mode is enabled.
-See the command `file-name-shadow-mode' for a description of this minor-mode.
-Setting this variable directly does not take effect;
-use either \\[customize] or the function `file-name-shadow-mode'.")
-
-(custom-autoload (quote file-name-shadow-mode) "rfn-eshadow")
-
-(put (quote file-name-shadow-mode) (quote custom-set) (quote custom-set-minor-mode))
-
-(autoload (quote file-name-shadow-mode) "rfn-eshadow" "\
-Toggle File-Name Shadow mode.
-When active, any part of a filename being read in the minibuffer
-that would be ignored (because the result is passed through
-`substitute-in-file-name') is given the properties in
-`file-name-shadow-properties', which can be used to make
-that portion dim, invisible, or otherwise less visually noticeable.
-
-With prefix argument ARG, turn on if positive, otherwise off.
-Returns non-nil if the new state is enabled.
-
-\(fn &optional ARG)" t nil)
-
-;;;***
-
;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;; (17148 25098))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/ring.el
(autoload (quote ring-p) "ring" "\
@@ -21548,7 +21401,7 @@ Make a ring that can contain SIZE elements.
;;;***
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17140 20942))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17187 59902))
;;; Generated autoloads from net/rlogin.el
(add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
@@ -21599,8 +21452,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" (17239
-;;;;;; 32332))
+;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (17226
+;;;;;; 24576))
;;; Generated autoloads from mail/rmail.el
(autoload (quote rmail-movemail-variant-p) "rmail" "\
@@ -21858,7 +21711,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
;;;***
;;;### (autoloads (rmail-edit-current-message) "rmailedit" "mail/rmailedit.el"
-;;;;;; (17148 25160))
+;;;;;; (17187 59902))
;;; Generated autoloads from mail/rmailedit.el
(autoload (quote rmail-edit-current-message) "rmailedit" "\
@@ -21870,7 +21723,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" (17185 27577))
+;;;;;; "mail/rmailkwd.el" (17187 59902))
;;; Generated autoloads from mail/rmailkwd.el
(autoload (quote rmail-add-label) "rmailkwd" "\
@@ -21909,7 +21762,7 @@ With prefix argument N moves forward N messages with these labels.
;;;***
;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el"
-;;;;;; (17185 27577))
+;;;;;; (17187 59902))
;;; Generated autoloads from mail/rmailmsc.el
(autoload (quote set-rmail-inbox-list) "rmailmsc" "\
@@ -21923,7 +21776,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" (17239 32332))
+;;;;;; "mail/rmailout.el" (17263 27852))
;;; Generated autoloads from mail/rmailout.el
(defvar rmail-output-file-alist nil "\
@@ -21947,11 +21800,11 @@ appended in inbox format, the same way `rmail-output' does it.
The default file name comes from `rmail-default-rmail-file',
which is updated to the name you use in this command.
-A prefix argument N says to output N consecutive messages
+A prefix argument COUNT says to output that many consecutive messages,
starting with the current one. Deleted messages are skipped and don't count.
-If optional argument STAY is non-nil, then leave the last filed
-mesasge up instead of moving forward to the next non-deleted message.
+If the optional argument STAY is non-nil, then leave the last filed
+message up instead of moving forward to the next non-deleted message.
\(fn FILE-NAME &optional COUNT STAY)" t nil)
@@ -21962,9 +21815,9 @@ mesasge up instead of moving forward to the next non-deleted message.
(autoload (quote rmail-output) "rmailout" "\
Append this message to system-inbox-format mail file named FILE-NAME.
-A prefix argument N says to output N consecutive messages
+A prefix argument COUNT says to output that many consecutive messages,
starting with the current one. Deleted messages are skipped and don't count.
-When called from lisp code, N may be omitted.
+When called from lisp code, COUNT may be omitted and defaults to 1.
If the pruned message header is shown on the current message, then
messages will be appended with pruned headers; otherwise, messages
@@ -21990,8 +21843,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" (17148
-;;;;;; 25160))
+;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from mail/rmailsort.el
(autoload (quote rmail-sort-by-date) "rmailsort" "\
@@ -22043,7 +21896,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" (17239 32333))
+;;;;;; "rmailsum" "mail/rmailsum.el" (17226 24576))
;;; Generated autoloads from mail/rmailsum.el
(defvar rmail-summary-scroll-between-messages t "\
@@ -22125,7 +21978,7 @@ Setting this variable has an effect only before reading a mail.")
;;;***
;;;### (autoloads (news-post-news) "rnewspost" "obsolete/rnewspost.el"
-;;;;;; (17185 27602))
+;;;;;; (17187 59902))
;;; Generated autoloads from obsolete/rnewspost.el
(autoload (quote news-post-news) "rnewspost" "\
@@ -22138,7 +21991,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" (17148 25035))
+;;;;;; rot13-string rot13) "rot13" "rot13.el" (17187 59902))
;;; Generated autoloads from rot13.el
(autoload (quote rot13) "rot13" "\
@@ -22179,7 +22032,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"
-;;;;;; (17148 25181))
+;;;;;; (17187 59902))
;;; Generated autoloads from obsolete/rsz-mini.el
(defvar resize-minibuffer-mode nil "\
@@ -22219,8 +22072,8 @@ This function is obsolete.
;;;***
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17159
-;;;;;; 1467))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from ruler-mode.el
(autoload (quote ruler-mode) "ruler-mode" "\
@@ -22230,8 +22083,8 @@ Display a ruler in the header line if ARG > 0.
;;;***
-;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17148
-;;;;;; 25098))
+;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from emacs-lisp/rx.el
(autoload (quote rx-to-string) "rx" "\
@@ -22538,34 +22391,34 @@ enclosed in `(and ...)'.
;;;***
-;;;### (autoloads (savehist-save savehist-load) "savehist" "savehist.el"
-;;;;;; (17245 9380))
+;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el"
+;;;;;; (17277 59650))
;;; Generated autoloads from savehist.el
-(autoload (quote savehist-load) "savehist" "\
-Load the minibuffer histories from `savehist-file'.
-Unless NO-INSTALL is present and non-nil, the function will also install
-`savehist-autosave' in `kill-emacs-hook' and on a timer, ensuring that
-history is saved before leaving Emacs.
+(defvar savehist-mode nil "\
+Mode for automatic saving of minibuffer history.
+Set this by calling the `savehist-mode' function or using the customize
+interface.")
-This function should be normally used from your Emacs init file. Since
-it removes your current minibuffer histories, it is unwise to call it at
-any other time.
+(custom-autoload (quote savehist-mode) "savehist")
-\(fn &optional NO-INSTALL)" t nil)
+(autoload (quote savehist-mode) "savehist" "\
+Toggle savehist-mode.
+Positive ARG turns on `savehist-mode'. When on, savehist-mode causes
+minibuffer history to be saved periodically and when exiting Emacs.
+When turned on for the first time in an Emacs session, it causes the
+previous minibuffer history to be loaded from `savehist-file'.
-(autoload (quote savehist-save) "savehist" "\
-Save the values of minibuffer history variables.
-Unbound symbols referenced in `savehist-additional-variables' are ignored.
-If AUTO-SAVE is non-nil, compare the saved contents to the one last saved,
- and don't save the buffer if they are the same.
+This mode should normally be turned on from your Emacs init file.
+Calling it at any other time replaces your current minibuffer histories,
+which is probably undesirable.
-\(fn &optional AUTO-SAVE)" t nil)
+\(fn ARG)" t nil)
;;;***
;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;; (17239 32390))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/scheme.el
(autoload (quote scheme-mode) "scheme" "\
@@ -22607,7 +22460,7 @@ that variable's value is a string.
;;;***
;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;; (17148 25151))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/score-mode.el
(autoload (quote gnus-score-mode) "score-mode" "\
@@ -22620,8 +22473,8 @@ This mode is an extended emacs-lisp mode.
;;;***
-;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17185
-;;;;;; 27603))
+;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from obsolete/scribe.el
(autoload (quote scribe-mode) "scribe" "\
@@ -22646,7 +22499,7 @@ Interesting variables:
;;;***
;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;; (17148 25035))
+;;;;;; (17187 59902))
;;; Generated autoloads from scroll-all.el
(defvar scroll-all-mode nil "\
@@ -22670,7 +22523,7 @@ apply to all visible windows in the same frame.
;;;***
;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
-;;;;;; (17167 2786))
+;;;;;; (17187 59900))
;;; Generated autoloads from scroll-lock.el
(autoload (quote scroll-lock-mode) "scroll-lock" "\
@@ -22692,7 +22545,7 @@ during scrolling.
;;;;;; 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" (17239 43866))
+;;;;;; mail-from-style) "sendmail" "mail/sendmail.el" (17277 60154))
;;; Generated autoloads from mail/sendmail.el
(defvar mail-from-style (quote angles) "\
@@ -22993,17 +22846,18 @@ Like `mail' command, but display mail buffer in another frame.
;;;***
;;;### (autoloads (server-mode server-start) "server" "server.el"
-;;;;;; (17244 48630))
+;;;;;; (17279 19612))
;;; Generated autoloads from server.el
(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)
@@ -23027,7 +22881,7 @@ Server mode runs a process that accepts commands from the
;;;***
-;;;### (autoloads (ses-mode) "ses" "ses.el" (17239 32237))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (17226 24577))
;;; Generated autoloads from ses.el
(autoload (quote ses-mode) "ses" "\
@@ -23046,7 +22900,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"
-;;;;;; (17185 27753))
+;;;;;; (17277 60154))
;;; Generated autoloads from textmodes/sgml-mode.el
(autoload (quote sgml-mode) "sgml-mode" "\
@@ -23114,7 +22968,7 @@ To work around that, do:
;;;***
;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;; (17242 7322))
+;;;;;; (17277 60154))
;;; Generated autoloads from progmodes/sh-script.el
(autoload (quote sh-mode) "sh-script" "\
@@ -23177,7 +23031,7 @@ with your script for an edit-interpret-debug cycle.
;;;***
-;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17148 25151))
+;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17187 59901))
;;; Generated autoloads from gnus/sha1.el
(autoload (quote sha1) "sha1" "\
@@ -23192,7 +23046,7 @@ If BINARY is non-nil, return a string in binary form.
;;;***
;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;; (17148 25098))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/shadow.el
(autoload (quote list-load-path-shadows) "shadow" "\
@@ -23239,8 +23093,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" (17239
-;;;;;; 32238))
+;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17226
+;;;;;; 24577))
;;; Generated autoloads from shadowfile.el
(autoload (quote shadow-define-cluster) "shadowfile" "\
@@ -23279,7 +23133,7 @@ Set up file shadowing.
;;;***
;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;; (17196 30352))
+;;;;;; (17226 24577))
;;; Generated autoloads from shell.el
(defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\
@@ -23326,7 +23180,7 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;; "sieve" "gnus/sieve.el" (17205 6100))
+;;;;;; "sieve" "gnus/sieve.el" (17226 24575))
;;; Generated autoloads from gnus/sieve.el
(autoload (quote sieve-manage) "sieve" "\
@@ -23347,7 +23201,7 @@ Not documented
;;;***
;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;; (17148 25152))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/sieve-mode.el
(autoload (quote sieve-mode) "sieve-mode" "\
@@ -23362,8 +23216,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
;;;***
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17140
-;;;;;; 20980))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17277
+;;;;;; 60154))
;;; Generated autoloads from progmodes/simula.el
(autoload (quote simula-mode) "simula" "\
@@ -23412,7 +23266,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" (17148 25043))
+;;;;;; define-skeleton) "skeleton" "skeleton.el" (17187 59902))
;;; Generated autoloads from skeleton.el
(defvar skeleton-filter (quote identity) "\
@@ -23522,7 +23376,7 @@ symmetrical ones, and the same character twice for the others.
;;;***
;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el"
-;;;;;; (17247 15785))
+;;;;;; (17257 22483))
;;; Generated autoloads from smerge-mode.el
(autoload (quote smerge-ediff) "smerge-mode" "\
@@ -23541,7 +23395,7 @@ Minor mode to simplify editing output from the diff3 program.
;;;***
;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;; (17148 25152))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/smiley.el
(autoload (quote smiley-region) "smiley" "\
@@ -23559,7 +23413,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" (17120 44799))
+;;;;;; "mail/smtpmail.el" (17277 59650))
;;; Generated autoloads from mail/smtpmail.el
(autoload (quote smtpmail-send-it) "smtpmail" "\
@@ -23574,7 +23428,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
;;;***
-;;;### (autoloads (snake) "snake" "play/snake.el" (17140 20949))
+;;;### (autoloads (snake) "snake" "play/snake.el" (17187 59902))
;;; Generated autoloads from play/snake.el
(autoload (quote snake) "snake" "\
@@ -23598,7 +23452,7 @@ Snake mode keybindings:
;;;***
;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;; (17140 20942))
+;;;;;; (17187 59902))
;;; Generated autoloads from net/snmp-mode.el
(autoload (quote snmp-mode) "snmp-mode" "\
@@ -23629,7 +23483,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" (17239 32270))
+;;;;;; "solar" "calendar/solar.el" (17229 28052))
;;; 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 ")"))) "\
@@ -23700,8 +23554,8 @@ Requires floating point.
;;;***
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17140
-;;;;;; 20949))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from play/solitaire.el
(autoload (quote solitaire) "solitaire" "\
@@ -23778,7 +23632,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" (17148 25043))
+;;;;;; sort-lines sort-subr) "sort" "sort.el" (17187 59902))
;;; Generated autoloads from sort.el
(autoload (quote sort-subr) "sort" "\
@@ -23920,8 +23774,8 @@ From a program takes two point or marker arguments, BEG and END.
;;;***
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17148
-;;;;;; 25153))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from gnus/spam.el
(autoload (quote spam-initialize) "spam" "\
@@ -23933,7 +23787,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" (17239 32320))
+;;;;;; "gnus/spam-report.el" (17226 24576))
;;; Generated autoloads from gnus/spam-report.el
(autoload (quote spam-report-process-queue) "spam-report" "\
@@ -23976,7 +23830,7 @@ Spam reports will be queued with the method used when
;;;***
;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;; "speedbar.el" (17239 32244))
+;;;;;; "speedbar.el" (17238 21257))
;;; Generated autoloads from speedbar.el
(defalias (quote speedbar) (quote speedbar-frame-mode))
@@ -24001,7 +23855,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" (17148 25223))
+;;;;;; "spell" "textmodes/spell.el" (17187 59902))
;;; Generated autoloads from textmodes/spell.el
(put (quote spell-filter) (quote risky-local-variable) t)
@@ -24037,8 +23891,8 @@ Check spelling of string supplied as argument.
;;;***
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17140
-;;;;;; 20949))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from play/spook.el
(autoload (quote spook) "spook" "\
@@ -24056,8 +23910,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" (17185
-;;;;;; 27674))
+;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from progmodes/sql.el
(autoload (quote sql-add-product-keywords) "sql" "\
@@ -24488,8 +24342,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" (17205
-;;;;;; 6045))
+;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17226
+;;;;;; 24577))
;;; Generated autoloads from strokes.el
(autoload (quote strokes-global-set-stroke) "strokes" "\
@@ -24600,7 +24454,7 @@ Read a complex stroke and insert its glyph into the current buffer.
;;;***
;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;; "studly" "play/studly.el" (17075 55479))
+;;;;;; "studly" "play/studly.el" (17187 59879))
;;; Generated autoloads from play/studly.el
(autoload (quote studlify-region) "studly" "\
@@ -24620,7 +24474,7 @@ Studlify-case the current buffer.
;;;***
-;;;### (autoloads (locate-library) "subr" "subr.el" (17250 21630))
+;;;### (autoloads (locate-library) "subr" "subr.el" (17263 27852))
;;; Generated autoloads from subr.el
(autoload (quote locate-library) "subr" "\
@@ -24642,7 +24496,7 @@ and the file name is displayed in the echo area.
;;;***
;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;; (17239 32335))
+;;;;;; (17229 28053))
;;; Generated autoloads from mail/supercite.el
(autoload (quote sc-cite-original) "supercite" "\
@@ -24674,21 +24528,7 @@ before, and `sc-post-hook' is run after the guts of this function.
;;;***
-;;;### (autoloads (syntax-ppss) "syntax" "emacs-lisp/syntax.el" (17242
-;;;;;; 7313))
-;;; Generated autoloads from emacs-lisp/syntax.el
-
-(autoload (quote syntax-ppss) "syntax" "\
-Parse-Partial-Sexp State at POS.
-The returned value is the same as `parse-partial-sexp' except that
-the 2nd and 6th values of the returned state cannot be relied upon.
-Point is at POS when this function returns.
-
-\(fn &optional POS)" nil nil)
-
-;;;***
-
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17148 25050))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17187 59902))
;;; Generated autoloads from tabify.el
(autoload (quote untabify) "tabify" "\
@@ -24723,7 +24563,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" (17159 1496))
+;;;;;; "table" "textmodes/table.el" (17187 59902))
;;; Generated autoloads from textmodes/table.el
(defvar table-cell-map-hook nil "\
@@ -25311,7 +25151,7 @@ converts a table into plain text without frames. It is a companion to
;;;***
-;;;### (autoloads (talk-connect) "talk" "talk.el" (17148 25050))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (17187 59902))
;;; Generated autoloads from talk.el
(autoload (quote talk-connect) "talk" "\
@@ -25319,9 +25159,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" (17242 7312))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17277 59650))
;;; Generated autoloads from tar-mode.el
(autoload (quote tar-mode) "tar-mode" "\
@@ -25333,7 +25178,7 @@ or click mouse-2 on the file's line in the Tar mode buffer.
Type `c' to copy an entry from the tar file into another file on disk.
If you edit a sub-file of this archive (as with the `e' command) and
-save it with Control-x Control-s, the contents of that buffer will be
+save it with \\[save-buffer], the contents of that buffer will be
saved back into the tar-file buffer; in this way you can edit a file
inside of a tar archive without extracting it and re-archiving it.
@@ -25345,7 +25190,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
;;;***
;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;; "progmodes/tcl.el" (17102 19053))
+;;;;;; "progmodes/tcl.el" (17277 60154))
;;; Generated autoloads from progmodes/tcl.el
(autoload (quote tcl-mode) "tcl" "\
@@ -25396,7 +25241,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
;;;***
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17140 20942))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17187 59902))
;;; Generated autoloads from net/telnet.el
(add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
@@ -25423,8 +25268,8 @@ Normally input is edited in Emacs and sent a line at a time.
;;;***
-;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17248
-;;;;;; 29270))
+;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17277
+;;;;;; 59650))
;;; Generated autoloads from term.el
(autoload (quote make-term) "term" "\
@@ -25452,8 +25297,8 @@ Start a terminal-emulator in a new buffer.
;;;***
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17239
-;;;;;; 32246))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17226
+;;;;;; 24577))
;;; Generated autoloads from terminal.el
(autoload (quote terminal-emulator) "terminal" "\
@@ -25490,7 +25335,7 @@ subprocess started.
;;;***
;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;; (17159 1472))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/testcover.el
(autoload (quote testcover-this-defun) "testcover" "\
@@ -25500,7 +25345,7 @@ Start coverage on function under point.
;;;***
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17140 20949))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17187 59902))
;;; Generated autoloads from play/tetris.el
(autoload (quote tetris) "tetris" "\
@@ -25531,7 +25376,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"
-;;;;;; (17239 32423))
+;;;;;; (17238 21257))
;;; Generated autoloads from textmodes/tex-mode.el
(defvar tex-shell-file-name nil "\
@@ -25833,7 +25678,7 @@ Major mode to edit DocTeX files.
;;;***
;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;; "texinfmt" "textmodes/texinfmt.el" (17148 25229))
+;;;;;; "texinfmt" "textmodes/texinfmt.el" (17187 59902))
;;; Generated autoloads from textmodes/texinfmt.el
(autoload (quote texinfo-format-buffer) "texinfmt" "\
@@ -25873,7 +25718,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" (17246 24773))
+;;;;;; "texinfo" "textmodes/texinfo.el" (17277 60154))
;;; Generated autoloads from textmodes/texinfo.el
(defvar texinfo-open-quote "``" "\
@@ -25960,7 +25805,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"
-;;;;;; (17185 27569))
+;;;;;; (17187 59901))
;;; Generated autoloads from language/thai-util.el
(autoload (quote thai-compose-region) "thai-util" "\
@@ -26004,7 +25849,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" (17148 25056))
+;;;;;; "thingatpt" "thingatpt.el" (17187 59902))
;;; Generated autoloads from thingatpt.el
(autoload (quote forward-thing) "thingatpt" "\
@@ -26061,7 +25906,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"
-;;;;;; (17245 51608))
+;;;;;; (17263 27852))
;;; Generated autoloads from thumbs.el
(autoload (quote thumbs-find-thumb) "thumbs" "\
@@ -26100,7 +25945,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" (17102 18781))
+;;;;;; "language/tibet-util.el" (17187 59881))
;;; Generated autoloads from language/tibet-util.el
(autoload (quote tibetan-char-p) "tibet-util" "\
@@ -26179,7 +26024,7 @@ Not documented
;;;***
;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;; (17205 6265))
+;;;;;; (17226 24578))
;;; Generated autoloads from textmodes/tildify.el
(autoload (quote tildify-region) "tildify" "\
@@ -26203,7 +26048,7 @@ This function performs no refilling of the changed text.
;;;***
;;;### (autoloads (display-time-mode display-time display-time-day-and-date)
-;;;;;; "time" "time.el" (17148 25057))
+;;;;;; "time" "time.el" (17187 59902))
;;; Generated autoloads from time.el
(defvar display-time-day-and-date nil "\
@@ -26246,8 +26091,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" (17239
-;;;;;; 32270))
+;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17226
+;;;;;; 24571))
;;; Generated autoloads from calendar/time-date.el
(autoload (quote date-to-time) "time-date" "\
@@ -26333,7 +26178,7 @@ If DATE is malformed, return a time value of zeros.
;;;***
;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;; "time-stamp.el" (17194 38185))
+;;;;;; "time-stamp.el" (17196 26624))
;;; Generated autoloads from time-stamp.el
(autoload (quote time-stamp) "time-stamp" "\
@@ -26369,7 +26214,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"
-;;;;;; (17239 32271))
+;;;;;; (17226 24571))
;;; Generated autoloads from calendar/timeclock.el
(autoload (quote timeclock-modeline-display) "timeclock" "\
@@ -26470,7 +26315,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" (17148 25099))
+;;;;;; "emacs-lisp/timer.el" (17263 27852))
;;; Generated autoloads from emacs-lisp/timer.el
(defalias (quote disable-timeout) (quote cancel-timer))
@@ -26541,7 +26386,7 @@ be detected.
;;;***
;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;; "international/titdic-cnv.el" (17102 18762))
+;;;;;; "international/titdic-cnv.el" (17187 59880))
;;; Generated autoloads from international/titdic-cnv.el
(autoload (quote titdic-convert) "titdic-cnv" "\
@@ -26564,8 +26409,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" (17102
-;;;;;; 18782))
+;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17187
+;;;;;; 59881))
;;; Generated autoloads from language/tml-util.el
(autoload (quote tamil-compose-region) "tml-util" "\
@@ -26588,7 +26433,7 @@ PATTERN regexp.
;;;***
;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;; "tmm.el" (17148 25058))
+;;;;;; "tmm.el" (17187 59902))
;;; Generated autoloads from tmm.el
(define-key global-map "\M-`" 'tmm-menubar)
(define-key global-map [f10] 'tmm-menubar)
@@ -26629,7 +26474,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" (17102 18477))
+;;;;;; "todo-mode" "calendar/todo-mode.el" (17187 59880))
;;; Generated autoloads from calendar/todo-mode.el
(autoload (quote todo-add-category) "todo-mode" "\
@@ -26690,7 +26535,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" "tool-bar.el"
-;;;;;; (17250 21105))
+;;;;;; (17263 27852))
;;; Generated autoloads from tool-bar.el
(put (quote tool-bar-mode) (quote standard-value) (quote (t)))
@@ -26727,7 +26572,7 @@ ICON.xbm, using `find-image'.
\(fn ICON DEF KEY MAP &rest PROPS)" nil nil)
(autoload (quote tool-bar-add-item-from-menu) "tool-bar" "\
-Define tool bar binding for COMMAND using the given ICON in keymap MAP.
+Define tool bar binding for COMMAND in keymap MAP using the given ICON.
This makes a binding for COMMAND in `tool-bar-map', copying its
binding from the menu bar in MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON. It
@@ -26737,26 +26582,27 @@ properties to add to the binding.
MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.
Use this function only to make bindings in the global value of `tool-bar-map'.
-To define items in any other map, use `tool-bar-local-item'.
+To define items in any other map, use `tool-bar-local-item-from-menu'.
\(fn COMMAND ICON &optional MAP &rest PROPS)" nil nil)
(autoload (quote tool-bar-local-item-from-menu) "tool-bar" "\
-Define tool bar binding for COMMAND using the given ICON in keymap MAP.
+Define local tool bar binding for COMMAND using the given ICON.
This makes a binding for COMMAND in IN-MAP, copying its binding from
the menu bar in FROM-MAP (which defaults to `global-map'), but
modifies the binding by adding an image specification for ICON. It
finds ICON just like `tool-bar-add-item'. PROPS are additional
properties to add to the binding.
-MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.
+FROM-MAP must contain appropriate binding for `[menu-bar]' which
+holds a keymap.
\(fn COMMAND ICON IN-MAP &optional FROM-MAP &rest PROPS)" nil nil)
;;;***
;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;; (17140 20923))
+;;;;;; (17187 59901))
;;; Generated autoloads from emulation/tpu-edt.el
(defvar tpu-edt-mode nil "\
@@ -26784,7 +26630,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" (17140 20923))
+;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17187 59901))
;;; Generated autoloads from emulation/tpu-extras.el
(autoload (quote tpu-set-scroll-margins) "tpu-extras" "\
@@ -26804,7 +26650,7 @@ Constrain the cursor to the flow of the text.
;;;***
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17148 25099))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/tq.el
(autoload (quote tq-create) "tq" "\
@@ -26818,7 +26664,7 @@ to a tcp server on another machine.
;;;***
;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;; "trace" "emacs-lisp/trace.el" (17148 25100))
+;;;;;; "trace" "emacs-lisp/trace.el" (17187 59901))
;;; Generated autoloads from emacs-lisp/trace.el
(defvar trace-buffer "*trace-output*" "\
@@ -26851,7 +26697,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" (17250 21105))
+;;;;;; "tramp" "net/tramp.el" (17263 27852))
;;; Generated autoloads from net/tramp.el
(defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\
@@ -26928,7 +26774,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" (17148 25231))
+;;;;;; "textmodes/two-column.el" (17187 59902))
;;; Generated autoloads from textmodes/two-column.el
(autoload '2C-command "two-column" () t 'keymap)
(global-set-key "\C-x6" '2C-command)
@@ -26979,7 +26825,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"
-;;;;;; (17148 25059))
+;;;;;; (17187 59902))
;;; Generated autoloads from type-break.el
(defvar type-break-mode nil "\
@@ -27162,7 +27008,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
;;;***
;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;; "textmodes/underline.el" (17148 25231))
+;;;;;; "textmodes/underline.el" (17187 59902))
;;; Generated autoloads from textmodes/underline.el
(autoload (quote underline-region) "underline" "\
@@ -27183,7 +27029,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (unforward-rmail-message undigestify-rmail-message)
-;;;;;; "undigest" "mail/undigest.el" (17148 25163))
+;;;;;; "undigest" "mail/undigest.el" (17187 59902))
;;; Generated autoloads from mail/undigest.el
(autoload (quote undigestify-rmail-message) "undigest" "\
@@ -27202,7 +27048,7 @@ following the containing message.
;;;***
;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;; (17148 25163))
+;;;;;; (17187 59902))
;;; Generated autoloads from mail/unrmail.el
(autoload (quote batch-unrmail) "unrmail" "\
@@ -27221,8 +27067,8 @@ Convert Rmail file FILE to system inbox format file TO-FILE.
;;;***
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17148
-;;;;;; 25100))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17187
+;;;;;; 59901))
;;; Generated autoloads from emacs-lisp/unsafep.el
(autoload (quote unsafep) "unsafep" "\
@@ -27234,7 +27080,7 @@ of symbols with local bindings.
;;;***
-;;;### (autoloads nil "url" "url/url.el" (17239 32426))
+;;;### (autoloads nil "url" "url/url.el" (17238 21257))
;;; Generated autoloads from url/url.el
(defvar url-configuration-directory "~/.url")
@@ -27242,7 +27088,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" (17187 59902))
;;; Generated autoloads from url/url-auth.el
(autoload (quote url-get-authentication) "url-auth" "\
@@ -27284,8 +27130,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" (17187
+;;;;;; 59902))
;;; Generated autoloads from url/url-cache.el
(autoload (quote url-store-in-cache) "url-cache" "\
@@ -27310,7 +27156,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" (17187 59902))
;;; Generated autoloads from url/url-cid.el
(autoload (quote url-cid) "url-cid" "\
@@ -27322,8 +27168,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" (17187
+;;;;;; 59902))
;;; Generated autoloads from url/url-cookie.el
(autoload (quote url-cookie-parse-file) "url-cookie" "\
@@ -27359,7 +27205,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" (17187 59902))
;;; Generated autoloads from url/url-dav.el
(autoload (quote url-dav-supported-p) "url-dav" "\
@@ -27374,8 +27220,8 @@ Not documented
;;;***
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17239
-;;;;;; 43869))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17244
+;;;;;; 4914))
;;; Generated autoloads from url/url-file.el
(autoload (quote url-file) "url-file" "\
@@ -27386,7 +27232,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" (17187 59902))
;;; Generated autoloads from url/url-gw.el
(autoload (quote url-gateway-nslookup-host) "url-gw" "\
@@ -27404,8 +27250,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" (17239
-;;;;;; 43869))
+;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17277
+;;;;;; 59650))
;;; Generated autoloads from url/url-handlers.el
(defvar url-handler-mode nil "\
@@ -27451,7 +27297,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))
+;;;;;; (17187 59902))
;;; Generated autoloads from url/url-history.el
(autoload (quote url-history-setup-save-timer) "url-history" "\
@@ -27475,7 +27321,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" (17239 43869))
+;;;;;; url-http) "url-http" "url/url-http.el" (17244 4914))
;;; Generated autoloads from url/url-http.el
(autoload (quote url-http) "url-http" "\
@@ -27528,7 +27374,7 @@ p3p
;;;***
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17141 259))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17187 59902))
;;; Generated autoloads from url/url-irc.el
(autoload (quote url-irc) "url-irc" "\
@@ -27538,8 +27384,8 @@ Not documented
;;;***
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17141
-;;;;;; 259))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from url/url-ldap.el
(autoload (quote url-ldap) "url-ldap" "\
@@ -27553,7 +27399,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"
-;;;;;; (17195 54695))
+;;;;;; (17226 24578))
;;; Generated autoloads from url/url-mailto.el
(autoload (quote url-mail) "url-mailto" "\
@@ -27569,7 +27415,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" (17187 59902))
;;; Generated autoloads from url/url-misc.el
(autoload (quote url-man) "url-misc" "\
@@ -27601,7 +27447,7 @@ Fetch a data URL (RFC 2397).
;;;***
;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;; (17167 2802))
+;;;;;; (17187 59902))
;;; Generated autoloads from url/url-news.el
(autoload (quote url-news) "url-news" "\
@@ -27618,7 +27464,7 @@ Not documented
;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;; (17141 260))
+;;;;;; (17187 59902))
;;; Generated autoloads from url/url-ns.el
(autoload (quote isPlainHostName) "url-ns" "\
@@ -27659,7 +27505,7 @@ Not documented
;;;***
;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;; "url/url-parse.el" (17141 260))
+;;;;;; "url/url-parse.el" (17187 59902))
;;; Generated autoloads from url/url-parse.el
(autoload (quote url-recreate-url) "url-parse" "\
@@ -27677,7 +27523,7 @@ Format is:
;;;***
;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;; (17141 263))
+;;;;;; (17187 59902))
;;; Generated autoloads from url/url-privacy.el
(autoload (quote url-setup-privacy-info) "url-privacy" "\
@@ -27693,7 +27539,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"
-;;;;;; (17185 27762))
+;;;;;; (17187 59902))
;;; Generated autoloads from url/url-util.el
(defvar url-debug nil "\
@@ -27818,7 +27664,7 @@ This uses `url-current-object', set locally to the buffer.
;;;***
;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;; "userlock" "userlock.el" (17148 25059))
+;;;;;; "userlock" "userlock.el" (17187 59902))
;;; Generated autoloads from userlock.el
(autoload (quote ask-user-about-lock) "userlock" "\
@@ -27846,7 +27692,7 @@ The buffer in question is current when this function is called.
;;;***
-;;;### (autoloads nil "utf-7" "international/utf-7.el" (17245 4870))
+;;;### (autoloads nil "utf-7" "international/utf-7.el" (17257 22483))
;;; Generated autoloads from international/utf-7.el
(autoload-coding-system 'utf-7 '(require 'utf-7))
@@ -27854,7 +27700,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"
-;;;;;; (17148 25154))
+;;;;;; (17187 59901))
;;; Generated autoloads from gnus/uudecode.el
(autoload (quote uudecode-decode-region-external) "uudecode" "\
@@ -27884,7 +27730,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" (17245 51609))
+;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17263 27852))
;;; Generated autoloads from vc.el
(defvar vc-checkout-hook nil "\
@@ -28171,7 +28017,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-arch" "vc-arch.el" (17148 25060))
+;;;### (autoloads nil "vc-arch" "vc-arch.el" (17187 59902))
;;; Generated autoloads from vc-arch.el
(defun vc-arch-registered (file)
(if (vc-find-root file "{arch}/=tagging-method")
@@ -28181,7 +28027,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17148 25060))
+;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17263 27852))
;;; Generated autoloads from vc-cvs.el
(defun vc-cvs-registered (f)
(when (file-readable-p (expand-file-name
@@ -28191,7 +28037,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17239 32248))
+;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17226 24578))
;;; Generated autoloads from vc-mcvs.el
(defun vc-mcvs-registered (file)
(if (vc-find-root file "MCVS/CVS")
@@ -28202,7 +28048,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el"
-;;;;;; (17148 25062))
+;;;;;; (17187 59902))
;;; Generated autoloads from vc-rcs.el
(defvar vc-rcs-master-templates (quote ("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -28215,7 +28061,7 @@ For a description of possible values, see `vc-check-master-templates'.")
;;;***
;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el"
-;;;;;; (17148 25063))
+;;;;;; (17263 27852))
;;; Generated autoloads from vc-sccs.el
(defvar vc-sccs-master-templates (quote ("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -28232,7 +28078,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
-;;;### (autoloads nil "vc-svn" "vc-svn.el" (17148 25063))
+;;;### (autoloads nil "vc-svn" "vc-svn.el" (17277 59650))
;;; Generated autoloads from vc-svn.el
(defun vc-svn-registered (f)
(when (file-readable-p (expand-file-name
@@ -28245,7 +28091,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;; (17239 32401))
+;;;;;; (17229 28055))
;;; Generated autoloads from progmodes/vhdl-mode.el
(autoload (quote vhdl-mode) "vhdl-mode" "\
@@ -28786,7 +28632,7 @@ Key bindings:
;;;***
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17102 18541))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17187 59879))
;;; Generated autoloads from emulation/vi.el
(autoload (quote vi-mode) "vi" "\
@@ -28841,7 +28687,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" (17102 18783))
+;;;;;; "language/viet-util.el" (17187 59881))
;;; Generated autoloads from language/viet-util.el
(autoload (quote viet-encode-viscii-char) "viet-util" "\
@@ -28887,8 +28733,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" (17250
-;;;;;; 21105))
+;;;;;; view-file-other-window view-file) "view" "view.el" (17263
+;;;;;; 27852))
;;; Generated autoloads from view.el
(defvar view-mode nil "\
@@ -29095,8 +28941,8 @@ Exit View mode and make the current buffer editable.
;;;***
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17239
-;;;;;; 32279))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17226
+;;;;;; 24575))
;;; Generated autoloads from emulation/vip.el
(autoload (quote vip-setup) "vip" "\
@@ -29112,7 +28958,7 @@ Turn on VIP emulation of VI.
;;;***
;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;; (17244 43743))
+;;;;;; (17277 59649))
;;; Generated autoloads from emulation/viper.el
(autoload (quote toggle-viper-mode) "viper" "\
@@ -29129,7 +28975,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Viper'.
;;;***
;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;; (17148 25100))
+;;;;;; (17187 59901))
;;; Generated autoloads from emacs-lisp/warnings.el
(defvar warning-prefix-function nil "\
@@ -29217,7 +29063,7 @@ this is equivalent to `display-warning', using
;;;***
;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;; (17205 6053))
+;;;;;; (17226 24579))
;;; Generated autoloads from wdired.el
(autoload (quote wdired-change-to-wdired-mode) "wdired" "\
@@ -29233,7 +29079,7 @@ See `wdired-mode'.
;;;***
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17140 20945))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17187 59902))
;;; Generated autoloads from net/webjump.el
(autoload (quote webjump) "webjump" "\
@@ -29250,7 +29096,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"
-;;;;;; (17159 1491))
+;;;;;; (17187 59902))
;;; Generated autoloads from progmodes/which-func.el
(put 'which-func-format 'risky-local-variable t)
(put 'which-func-current 'risky-local-variable t)
@@ -29284,7 +29130,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"
-;;;;;; (17244 43740))
+;;;;;; (17257 22483))
;;; Generated autoloads from whitespace.el
(autoload (quote whitespace-toggle-leading-check) "whitespace" "\
@@ -29374,7 +29220,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" (17148 25069))
+;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17187 59902))
;;; Generated autoloads from wid-browse.el
(autoload (quote widget-browse-at) "wid-browse" "\
@@ -29401,8 +29247,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" (17244
-;;;;;; 43741))
+;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17277
+;;;;;; 59650))
;;; Generated autoloads from wid-edit.el
(autoload (quote widgetp) "wid-edit" "\
@@ -29444,8 +29290,8 @@ Setup current buffer so editing string widgets works.
;;;***
;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17159
-;;;;;; 1472))
+;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17187
+;;;;;; 59902))
;;; Generated autoloads from windmove.el
(autoload (quote windmove-left) "windmove" "\
@@ -29498,7 +29344,7 @@ Default MODIFIER is 'shift.
;;;***
;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;; (17148 25072))
+;;;;;; (17187 59902))
;;; Generated autoloads from winner.el
(defvar winner-mode nil "\
@@ -29517,7 +29363,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" (17239 32255))
+;;;;;; "woman.el" (17238 21257))
;;; Generated autoloads from woman.el
(autoload (quote woman) "woman" "\
@@ -29553,7 +29399,7 @@ decompress the file if appropriate. See the documentation for the
;;;***
;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;; (17205 6084))
+;;;;;; (17226 24575))
;;; Generated autoloads from emulation/ws-mode.el
(autoload (quote wordstar-mode) "ws-mode" "\
@@ -29666,7 +29512,7 @@ The key bindings are:
;;;***
;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;; (17148 25076))
+;;;;;; (17263 27852))
;;; Generated autoloads from xml.el
(autoload (quote xml-parse-file) "xml" "\
@@ -29691,8 +29537,8 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
;;;***
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (17148
-;;;;;; 25076))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (17187
+;;;;;; 59919))
;;; Generated autoloads from xt-mouse.el
(defvar xterm-mouse-mode nil "\
@@ -29721,7 +29567,7 @@ down the SHIFT key while pressing the mouse button.
;;;***
;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;; "gnus/yenc.el" (17148 25154))
+;;;;;; "gnus/yenc.el" (17187 59901))
;;; Generated autoloads from gnus/yenc.el
(autoload (quote yenc-decode-region) "yenc" "\
@@ -29737,7 +29583,7 @@ Extract file name from an yenc header.
;;;***
;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;; yow) "yow" "play/yow.el" (17140 20949))
+;;;;;; yow) "yow" "play/yow.el" (17187 59902))
;;; Generated autoloads from play/yow.el
(autoload (quote yow) "yow" "\
@@ -29763,7 +29609,7 @@ Zippy goes to the analyst.
;;;***
-;;;### (autoloads (zone) "zone" "play/zone.el" (17239 32366))
+;;;### (autoloads (zone) "zone" "play/zone.el" (17229 28054))
;;; Generated autoloads from play/zone.el
(autoload (quote zone) "zone" "\
@@ -29774,7 +29620,7 @@ Zone out, completely.
;;;***
;;;### (autoloads (zone-mode zone-mode-update-serial-hook) "zone-mode"
-;;;;;; "net/zone-mode.el" (17140 20945))
+;;;;;; "net/zone-mode.el" (17187 59902))
;;; Generated autoloads from net/zone-mode.el
(autoload (quote zone-mode-update-serial-hook) "zone-mode" "\
@@ -29826,23 +29672,24 @@ Zone-mode does two things:
;;;;;; "emacs-lisp/gulp.el" "emacs-lisp/levents.el" "emacs-lisp/lisp-mnt.el"
;;;;;; "emacs-lisp/lisp-mode.el" "emacs-lisp/lisp.el" "emacs-lisp/lmenu.el"
;;;;;; "emacs-lisp/lselect.el" "emacs-lisp/lucid.el" "emacs-lisp/map-ynp.el"
-;;;;;; "emacs-lisp/regi.el" "emacs-lisp/sregex.el" "emacs-lisp/tcover-ses.el"
-;;;;;; "emacs-lisp/tcover-unsafep.el" "emacs-lock.el" "emulation/cua-gmrk.el"
-;;;;;; "emulation/cua-rect.el" "emulation/edt-lk201.el" "emulation/edt-mapper.el"
-;;;;;; "emulation/edt-pc.el" "emulation/edt-vt100.el" "emulation/tpu-mapper.el"
-;;;;;; "emulation/viper-cmd.el" "emulation/viper-ex.el" "emulation/viper-init.el"
-;;;;;; "emulation/viper-keym.el" "emulation/viper-macs.el" "emulation/viper-mous.el"
-;;;;;; "emulation/viper-util.el" "env.el" "eshell/em-alias.el" "eshell/em-banner.el"
-;;;;;; "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el"
-;;;;;; "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el"
-;;;;;; "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-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" "ezimage.el" "faces.el" "files.el" "finder-inf.el"
-;;;;;; "foldout.el" "font-core.el" "format.el" "forms-d2.el" "forms-pass.el"
+;;;;;; "emacs-lisp/regi.el" "emacs-lisp/sregex.el" "emacs-lisp/syntax.el"
+;;;;;; "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el"
+;;;;;; "emacs-lock.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el"
+;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el"
+;;;;;; "emulation/edt-vt100.el" "emulation/tpu-mapper.el" "emulation/viper-cmd.el"
+;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el"
+;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el"
+;;;;;; "env.el" "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el"
+;;;;;; "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el"
+;;;;;; "eshell/em-hist.el" "eshell/em-ls.el" "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-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"
+;;;;;; "ezimage.el" "faces.el" "files.el" "finder-inf.el" "foldout.el"
+;;;;;; "font-core.el" "font-lock.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"
@@ -29877,27 +29724,28 @@ Zone-mode does two things:
;;;;;; "international/subst-gb2312.el" "international/subst-jis.el"
;;;;;; "international/subst-ksc.el" "international/ucs-tables.el"
;;;;;; "international/utf-16.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" "language/english.el"
-;;;;;; "language/ethiopic.el" "language/european.el" "language/georgian.el"
-;;;;;; "language/greek.el" "language/hebrew.el" "language/indian.el"
-;;;;;; "language/japanese.el" "language/kannada.el" "language/korean.el"
-;;;;;; "language/lao.el" "language/malayalam.el" "language/misc-lang.el"
-;;;;;; "language/romanian.el" "language/slovak.el" "language/tamil.el"
-;;;;;; "language/thai-word.el" "language/thai.el" "language/tibetan.el"
-;;;;;; "language/utf-8-lang.el" "language/vietnamese.el" "ldefs-boot.el"
-;;;;;; "loadup.el" "mail/blessmail.el" "mail/mailheader.el" "mail/mailpost.el"
-;;;;;; "mail/mspools.el" "mail/rfc2368.el" "mail/rfc822.el" "mail/rmail-spam-filter.el"
-;;;;;; "mail/uce.el" "mail/vms-pmail.el" "mh-e/mh-acros.el" "mh-e/mh-alias.el"
-;;;;;; "mh-e/mh-customize.el" "mh-e/mh-funcs.el" "mh-e/mh-gnus.el"
-;;;;;; "mh-e/mh-identity.el" "mh-e/mh-inc.el" "mh-e/mh-index.el"
-;;;;;; "mh-e/mh-junk.el" "mh-e/mh-loaddefs.el" "mh-e/mh-mime.el"
-;;;;;; "mh-e/mh-pick.el" "mh-e/mh-print.el" "mh-e/mh-seq.el" "mh-e/mh-speed.el"
-;;;;;; "mh-e/mh-utils.el" "misc.el" "mouse-copy.el" "mouse-drag.el"
-;;;;;; "mouse.el" "net/eudc-vars.el" "net/eudcb-bbdb.el" "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"
+;;;;;; "jit-lock.el" "jka-cmpr-hook.el" "kermit.el" "language/chinese.el"
+;;;;;; "language/cyrillic.el" "language/czech.el" "language/devanagari.el"
+;;;;;; "language/english.el" "language/ethiopic.el" "language/european.el"
+;;;;;; "language/georgian.el" "language/greek.el" "language/hebrew.el"
+;;;;;; "language/indian.el" "language/japanese.el" "language/kannada.el"
+;;;;;; "language/korean.el" "language/lao.el" "language/malayalam.el"
+;;;;;; "language/misc-lang.el" "language/romanian.el" "language/slovak.el"
+;;;;;; "language/tamil.el" "language/thai-word.el" "language/thai.el"
+;;;;;; "language/tibetan.el" "language/utf-8-lang.el" "language/vietnamese.el"
+;;;;;; "ldefs-boot.el" "loadup.el" "mail/blessmail.el" "mail/mailheader.el"
+;;;;;; "mail/mailpost.el" "mail/mspools.el" "mail/rfc2368.el" "mail/rfc822.el"
+;;;;;; "mail/rmail-spam-filter.el" "mail/uce.el" "mail/vms-pmail.el"
+;;;;;; "mh-e/mh-acros.el" "mh-e/mh-alias.el" "mh-e/mh-customize.el"
+;;;;;; "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" "mh-e/mh-identity.el"
+;;;;;; "mh-e/mh-inc.el" "mh-e/mh-index.el" "mh-e/mh-junk.el" "mh-e/mh-loaddefs.el"
+;;;;;; "mh-e/mh-mime.el" "mh-e/mh-pick.el" "mh-e/mh-print.el" "mh-e/mh-seq.el"
+;;;;;; "mh-e/mh-speed.el" "mh-e/mh-utils.el" "misc.el" "mouse-copy.el"
+;;;;;; "mouse-drag.el" "mouse.el" "net/eudc-vars.el" "net/eudcb-bbdb.el"
+;;;;;; "net/eudcb-ldap.el" "net/eudcb-mab.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/bg-mouse.el" "obsolete/float.el" "obsolete/hilit19.el"
;;;;;; "obsolete/iso-insert.el" "obsolete/iso-swed.el" "obsolete/keyswap.el"
;;;;;; "obsolete/mlsupport.el" "obsolete/ooutline.el" "obsolete/profile.el"
@@ -29905,8 +29753,8 @@ Zone-mode does two things:
;;;;;; "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"
-;;;;;; "pgg-def.el" "pgg-gpg.el" "pgg-parse.el" "pgg-pgp.el" "pgg-pgp5.el"
-;;;;;; "play/gamegrid.el" "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el"
+;;;;;; "pgg-def.el" "pgg-parse.el" "pgg-pgp.el" "pgg-pgp5.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"
@@ -29915,29 +29763,29 @@ Zone-mode does two things:
;;;;;; "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" "sb-image.el" "scroll-bar.el"
-;;;;;; "select.el" "simple.el" "soundex.el" "startup.el" "subdirs.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"
-;;;;;; "tooltip.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") (17250 22703 990875))
+;;;;;; "replace.el" "rfn-eshadow.el" "s-region.el" "saveplace.el"
+;;;;;; "sb-image.el" "scroll-bar.el" "select.el" "simple.el" "soundex.el"
+;;;;;; "startup.el" "subdirs.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" "tooltip.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") (17279 20072 750932))
;;;***
diff --git a/lisp/loadup.el b/lisp/loadup.el
index fb6465c7884..e5bcf2447ff 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.
@@ -130,6 +132,7 @@
(load "indent")
(load "window")
(load "frame")
+(load "termdev")
(load "term/tty-colors")
(load "font-core")
;; facemenu must be loaded before font-lock, because `facemenu-keymap'
@@ -152,7 +155,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")
@@ -175,9 +177,9 @@
(load "international/fontset")
(load "dnd")
(load "mwheel")
- (load "tool-bar")))
-(if (featurep 'x)
- (load "x-dnd"))
+ (load "tool-bar")
+ (load "x-dnd")
+ (load "term/x-win")))
(message "%s" (garbage-collect))
(if (eq system-type 'vax-vms)
diff --git a/lisp/progmodes/ebrowse.el b/lisp/progmodes/ebrowse.el
index 47e9a12f235..371cb4861d8 100644
--- a/lisp/progmodes/ebrowse.el
+++ b/lisp/progmodes/ebrowse.el
@@ -2004,7 +2004,7 @@ COLLAPSE non-nil means collapse the branch."
(fillarray (car (cdr map)) 'ebrowse-electric-list-undefined)
(fillarray (car (cdr submap)) 'ebrowse-electric-list-undefined)
(define-key map "\e" submap)
- (define-key map "\C-z" 'suspend-emacs)
+ (define-key map "\C-z" 'suspend-frame)
(define-key map "\C-h" 'Helper-help)
(define-key map "?" 'Helper-describe-bindings)
(define-key map "\C-c" nil)
@@ -3964,7 +3964,7 @@ Prefix arg ARG says how much."
(fillarray (car (cdr map)) 'ebrowse-electric-position-undefined)
(fillarray (car (cdr submap)) 'ebrowse-electric-position-undefined)
(define-key map "\e" submap)
- (define-key map "\C-z" 'suspend-emacs)
+ (define-key map "\C-z" 'suspend-frame)
(define-key map "\C-h" 'Helper-help)
(define-key map "?" 'Helper-describe-bindings)
(define-key map "\C-c" nil)
diff --git a/lisp/server.el b/lisp/server.el
index ef8a3d18355..382befd5349 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,62 +161,186 @@ 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))))
+
+(defun server-getenv-from (env variable)
+ "Get the value of VARIABLE in ENV.
+VARIABLE should be a string. Value is nil if VARIABLE is
+undefined in ENV. Otherwise, value is a string.
+
+ENV should be in the same format as `process-environment'."
+ (let (entry result)
+ (while (and env (null result))
+ (setq entry (car env)
+ env (cdr env))
+ (if (and (> (length entry) (length variable))
+ (eq ?= (aref entry (length variable)))
+ (equal variable (substring entry 0 (length variable))))
+ (setq result (substring entry (+ (length variable) 1)))))
+ result))
+
+(defmacro server-with-environment (env vars &rest body)
+ "Evaluate BODY with environment variables VARS set to those in ENV.
+The environment variables are then restored to their previous values.
+
+VARS should be a list of strings.
+ENV should be in the same format as `process-environment'."
+ (declare (indent 2))
+ (let ((oldvalues (make-symbol "oldvalues"))
+ (var (make-symbol "var"))
+ (value (make-symbol "value"))
+ (pair (make-symbol "pair")))
+ `(let (,oldvalues)
+ (dolist (,var ,vars)
+ (let ((,value (server-getenv-from ,env ,var)))
+ (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, terminals 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 frames.
+ (unless noframe
+ (dolist (frame (frame-list))
+ (when (and (frame-live-p frame)
+ (equal proc (frame-parameter frame 'client)))
+ ;; Prevent `server-handle-delete-frame' from calling us
+ ;; recursively.
+ (set-frame-parameter frame 'client nil)
+ (delete-frame frame))))
+
+ ;; Delete the client's tty.
+ (let ((terminal (server-client-get client 'terminal)))
+ (when (eq (terminal-live-p terminal) t)
+ (delete-terminal terminal)))
+
+ ;; 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)))))))
+ "The process sentinel for Emacs server connections."
;; If this is a new client process, set the query-on-exit flag to nil
;; for this process (it isn't inherited from the server process).
(when (and (eq (process-status proc) 'open)
(process-query-on-exit-flag proc))
(set-process-query-on-exit-flag proc nil))
- (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)))))))
+ (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
+ ;; See if this is the last frame for this client.
+ (>= 1 (let ((frame-num 0))
+ (dolist (f (frame-list))
+ (when (eq proc (frame-parameter f 'client))
+ (setq frame-num (1+ frame-num))))
+ 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 (terminal)
+ "Notify the emacsclient process to suspend itself when its tty device is suspended."
+ (dolist (proc (server-clients-with 'terminal terminal))
+ (server-log (format "server-handle-suspend-tty, terminal %s" terminal) 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)
@@ -226,6 +350,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:
@@ -246,38 +390,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
@@ -294,105 +453,367 @@ 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 "%s" (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.
+ env
+ (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 display 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-terminal' from unexpectedly
+ ;; killing emacs on that frame.
+ (list (cons 'client 'nowait) (cons 'environment env))
+ (list (cons 'client proc) (cons 'environment env)))))
+ (setq frame (make-frame-on-display
+ (or display
+ (frame-parameter nil 'display)
+ (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 'terminal (frame-terminal 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 ((terminal (server-client-get client 'terminal)))
+ (setq dontkill t)
+ (when (eq (terminal-live-p terminal) t)
+ (resume-tty terminal))))
+
+ ;; -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 ((terminal (server-client-get client 'terminal)))
+ (setq dontkill t)
+ (when (eq (terminal-live-p terminal) t)
+ (suspend-tty terminal))))
+
+ ;; -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-environment env
+ '("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)
+ (environment . ,env)))))
+ (select-frame frame)
+ (server-client-set client 'frame frame)
+ (server-client-set client 'tty (terminal-name frame))
+ (server-client-set client 'terminal (frame-terminal 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 ((var (server-unquote-arg (match-string 1 request))))
+ ;; XXX Variables should be encoded as in getenv/setenv.
+ (setq request (substring request (match-end 0)))
+ (setq env (cons var env))))
+
+ ;; 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))
+
+ (when frame
+ (with-selected-frame frame
+ (switch-to-buffer (or (car buffers)
+ (get-buffer-create "*scratch*")))
+ (display-startup-echo-area-message)
+ (unless inhibit-splash-screen
+ (condition-case err
+ ;; This looks scary because `fancy-splash-screens'
+ ;; will call `recursive-edit' from a process filter.
+ ;; However, that should be safe to do now.
+ (display-splash-screen)
+ ;; `recursive-edit' will throw an error if Emacs is
+ ;; already doing a recursive edit elsewhere. Catch it
+ ;; here so that we can finish normally.
+ (error nil)))))
+
+ ;; 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 "%s" (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 "%s" (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.
@@ -415,8 +836,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)
@@ -429,7 +849,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).
@@ -439,27 +863,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
@@ -524,30 +945,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
@@ -579,18 +1002,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))
@@ -621,8 +1052,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-terminal (window-frame w))
+ (frame-terminal (selected-frame)))))
'nomini 'visible (selected-window))))
(condition-case nil
(switch-to-buffer next-buffer)
@@ -630,10 +1061,31 @@ 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)))))))))
+;;;###autoload
+(defun server-save-buffers-kill-terminal (proc &optional arg)
+ "Offer to save each buffer, then kill PROC.
+
+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."
+ (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)))
+
(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 58e6814b845..77345333137 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -85,34 +85,22 @@ If the optional third argument FRAME is non-nil, use that frame's
buffer list instead of the selected frame's buffer list.
If no other buffer exists, the buffer `*scratch*' is returned."
(setq frame (or frame (selected-frame)))
- (or (get-next-valid-buffer (frame-parameter frame 'buried-buffer-list)
- buffer visible-ok frame)
- (get-next-valid-buffer (nreverse (buffer-list frame))
- buffer visible-ok frame)
+ (or (get-next-valid-buffer (nreverse (buffer-list frame))
+ buffer visible-ok frame)
(progn
(set-buffer-major-mode (get-buffer-create "*scratch*"))
(get-buffer "*scratch*"))))
-
(defun next-buffer ()
"Switch to the next buffer in cyclic order."
(interactive)
- (let ((buffer (current-buffer))
- (bbl (frame-parameter nil 'buried-buffer-list)))
+ (let ((buffer (current-buffer)))
(switch-to-buffer (other-buffer buffer t))
- (bury-buffer buffer)
- (set-frame-parameter nil 'buried-buffer-list
- (cons buffer (delq buffer bbl)))))
+ (bury-buffer buffer)))
(defun previous-buffer ()
"Switch to the previous buffer in cyclic order."
(interactive)
- (let ((buffer (last-buffer (current-buffer) t))
- (bbl (frame-parameter nil 'buried-buffer-list)))
- (switch-to-buffer buffer)
- ;; Clean up buried-buffer-list up to and including the chosen buffer.
- (while (and bbl (not (eq (car bbl) buffer)))
- (setq bbl (cdr bbl)))
- (set-frame-parameter nil 'buried-buffer-list bbl)))
+ (switch-to-buffer (last-buffer (current-buffer) t)))
;;; next-error support framework
@@ -2369,6 +2357,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.
@@ -2389,6 +2379,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)
@@ -5288,36 +5280,33 @@ the front of the list of recently selected ones."
;;; Handling of Backspace and Delete keys.
-(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))
- (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)
- (eq tty-erase-char ?\^H))))
- "If non-nil, Delete key deletes forward and Backspace key deletes backward.
-
-On window systems, the default value of this option is chosen
-according to the keyboard used. If the keyboard has both a Backspace
-key and a Delete key, and both are mapped to their usual meanings, the
-option's default value is set to t, so that Backspace can be used to
-delete backward, and Delete can be used to delete forward.
-
-If not running under a window system, customizing this option accomplishes
-a similar effect by mapping C-h, which is usually generated by the
-Backspace key, to DEL, and by mapping DEL to C-d via
-`keyboard-translate'. The former functionality of C-h is available on
-the F1 key. You should probably not use this setting if you don't
-have both Backspace, Delete and F1 keys.
+(defcustom normal-erase-is-backspace 'maybe
+ "Set the default behaviour of the Delete and Backspace keys.
+
+If set to t, Delete key deletes forward and Backspace key deletes
+backward.
+
+If set to nil, both Delete and Backspace keys delete backward.
+
+If set to 'maybe (which is the default), Emacs automatically
+selects a behaviour. On window systems, the behaviour depends on
+the keyboard used. If the keyboard has both a Backspace key and
+a Delete key, and both are mapped to their usual meanings, the
+option's default value is set to t, so that Backspace can be used
+to delete backward, and Delete can be used to delete forward.
+
+If not running under a window system, customizing this option
+accomplishes a similar effect by mapping C-h, which is usually
+generated by the Backspace key, to DEL, and by mapping DEL to C-d
+via `keyboard-translate'. The former functionality of C-h is
+available on the F1 key. You should probably not use this
+setting if you don't have both Backspace, Delete and F1 keys.
Setting this variable with setq doesn't take effect. Programmatically,
call `normal-erase-is-backspace-mode' (which see) instead."
- :type 'boolean
+ :type '(choice (const :tag "Off" nil)
+ (const :tag "Maybe" maybe)
+ (other :tag "On" t))
:group 'editing-basics
:version "21.1"
:set (lambda (symbol value)
@@ -5327,17 +5316,38 @@ call `normal-erase-is-backspace-mode' (which see) instead."
(normal-erase-is-backspace-mode (or value 0))
(set-default symbol value))))
+(defun normal-erase-is-backspace-setup-frame (&optional frame)
+ "Set up `normal-erase-is-backspace-mode' on FRAME, if necessary."
+ (unless frame (setq frame (selected-frame)))
+ (with-selected-frame frame
+ (unless (terminal-parameter nil 'normal-erase-is-backspace)
+ (if (cond ((eq normal-erase-is-backspace 'maybe)
+ (and (not noninteractive)
+ (or (memq system-type '(ms-dos windows-nt))
+ (eq window-system 'mac)
+ (and (memq 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)
+ (eq tty-erase-char ?\^H)))))
+ (t
+ normal-erase-is-backspace))
+ (normal-erase-is-backspace-mode 1)
+ (normal-erase-is-backspace-mode 0)))))
(defun normal-erase-is-backspace-mode (&optional arg)
"Toggle the Erase and Delete mode of the Backspace and Delete keys.
With numeric arg, turn the mode on if and only if ARG is positive.
-On window systems, when this mode is on, Delete is mapped to C-d and
-Backspace is mapped to DEL; when this mode is off, both Delete and
-Backspace are mapped to DEL. (The remapping goes via
-`function-key-map', so binding Delete or Backspace in the global or
-local keymap will override that.)
+On window systems, when this mode is on, Delete is mapped to C-d
+and Backspace is mapped to DEL; when this mode is off, both
+Delete and Backspace are mapped to DEL. (The remapping goes via
+`local-function-key-map', so binding Delete or Backspace in the
+global or local keymap will override that.)
In addition, on window systems, the bindings of C-Delete, M-Delete,
C-M-Delete, C-Backspace, M-Backspace, and C-M-Backspace are changed in
@@ -5359,54 +5369,57 @@ have both Backspace, Delete and F1 keys.
See also `normal-erase-is-backspace'."
(interactive "P")
- (setq normal-erase-is-backspace
- (if arg
- (> (prefix-numeric-value arg) 0)
- (not normal-erase-is-backspace)))
-
- (cond ((or (memq window-system '(x w32 mac pc))
- (memq system-type '(ms-dos windows-nt)))
- (let ((bindings
- `(([C-delete] [C-backspace])
- ([M-delete] [M-backspace])
- ([C-M-delete] [C-M-backspace])
- (,esc-map
- [C-delete] [C-backspace])))
- (old-state (lookup-key function-key-map [delete])))
-
- (if normal-erase-is-backspace
+ (let ((enabled (or (and arg (> (prefix-numeric-value arg) 0))
+ (and (not arg)
+ (not (eq 1 (terminal-parameter
+ nil 'normal-erase-is-backspace)))))))
+ (set-terminal-parameter nil 'normal-erase-is-backspace
+ (if enabled 1 0))
+
+ (cond ((or (memq window-system '(x w32 mac pc))
+ (memq system-type '(ms-dos windows-nt)))
+ (let* ((bindings
+ `(([C-delete] [C-backspace])
+ ([M-delete] [M-backspace])
+ ([C-M-delete] [C-M-backspace])
+ (,esc-map
+ [C-delete] [C-backspace])))
+ (old-state (lookup-key local-function-key-map [delete])))
+
+ (if enabled
+ (progn
+ (define-key local-function-key-map [delete] [?\C-d])
+ (define-key local-function-key-map [kp-delete] [?\C-d])
+ (define-key local-function-key-map [backspace] [?\C-?]))
+ (define-key local-function-key-map [delete] [?\C-?])
+ (define-key local-function-key-map [kp-delete] [?\C-?])
+ (define-key local-function-key-map [backspace] [?\C-?]))
+
+ ;; Maybe swap bindings of C-delete and C-backspace, etc.
+ (unless (equal old-state (lookup-key local-function-key-map [delete]))
+ (dolist (binding bindings)
+ (let ((map global-map))
+ (when (keymapp (car binding))
+ (setq map (car binding) binding (cdr binding)))
+ (let* ((key1 (nth 0 binding))
+ (key2 (nth 1 binding))
+ (binding1 (lookup-key map key1))
+ (binding2 (lookup-key map key2)))
+ (define-key map key1 binding2)
+ (define-key map key2 binding1)))))))
+ (t
+ (if enabled
(progn
- (define-key function-key-map [delete] [?\C-d])
- (define-key function-key-map [kp-delete] [?\C-d])
- (define-key function-key-map [backspace] [?\C-?]))
- (define-key function-key-map [delete] [?\C-?])
- (define-key function-key-map [kp-delete] [?\C-?])
- (define-key function-key-map [backspace] [?\C-?]))
-
- ;; Maybe swap bindings of C-delete and C-backspace, etc.
- (unless (equal old-state (lookup-key function-key-map [delete]))
- (dolist (binding bindings)
- (let ((map global-map))
- (when (keymapp (car binding))
- (setq map (car binding) binding (cdr binding)))
- (let* ((key1 (nth 0 binding))
- (key2 (nth 1 binding))
- (binding1 (lookup-key map key1))
- (binding2 (lookup-key map key2)))
- (define-key map key1 binding2)
- (define-key map key2 binding1)))))))
- (t
- (if normal-erase-is-backspace
- (progn
- (keyboard-translate ?\C-h ?\C-?)
- (keyboard-translate ?\C-? ?\C-d))
- (keyboard-translate ?\C-h ?\C-h)
- (keyboard-translate ?\C-? ?\C-?))))
-
- (run-hooks 'normal-erase-is-backspace-hook)
- (if (interactive-p)
- (message "Delete key deletes %s"
- (if normal-erase-is-backspace "forward" "backward"))))
+ (keyboard-translate ?\C-h ?\C-?)
+ (keyboard-translate ?\C-? ?\C-d))
+ (keyboard-translate ?\C-h ?\C-h)
+ (keyboard-translate ?\C-? ?\C-?))))
+
+ (run-hooks 'normal-erase-is-backspace-hook)
+ (if (interactive-p)
+ (message "Delete key deletes %s"
+ (if (terminal-parameter nil 'normal-erase-is-backspace)
+ "forward" "backward")))))
(defvar vis-mode-saved-buffer-invisibility-spec nil
"Saved value of `buffer-invisibility-spec' when Visible mode is on.")
diff --git a/lisp/startup.el b/lisp/startup.el
index 64da0315af4..21e9fce07c1 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)
@@ -433,36 +440,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)
@@ -503,6 +493,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)
@@ -607,16 +611,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)
@@ -632,13 +642,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 preloaded file names to absolute.
@@ -756,7 +762,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))
@@ -770,7 +776,6 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
;; Can't do this init in defcustom because the relevant variables
;; are not set.
(custom-reevaluate-setting 'blink-cursor-mode)
- (custom-reevaluate-setting 'normal-erase-is-backspace)
(custom-reevaluate-setting 'tooltip-mode)
(custom-reevaluate-setting 'global-font-lock-mode)
(custom-reevaluate-setting 'mouse-wheel-down-event)
@@ -778,13 +783,15 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(custom-reevaluate-setting 'file-name-shadow-mode)
(custom-reevaluate-setting 'send-mail-function)
+ (normal-erase-is-backspace-setup-frame)
+
;; Register default TTY colors for the case the terminal hasn't a
- ;; terminal init file.
- (unless (memq window-system '(x w32 mac))
- ;; 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))
+ ;; terminal init file. We do this regardles of whether the terminal
+ ;; supports colors or not and regardless the current display type,
+ ;; since users can connect to color-capable terminals and also
+ ;; switch color 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
@@ -1036,31 +1043,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.
@@ -1306,7 +1290,6 @@ where FACE is a valid face specification, as it can be used with
(force-mode-line-update)
(setq fancy-current-text (cdr fancy-current-text))))
-
(defun fancy-splash-default-action ()
"Stop displaying the splash screen buffer.
This is an internal function used to turn off the splash screen after
@@ -1316,12 +1299,23 @@ mouse."
(if (and (memq 'down (event-modifiers last-command-event))
(eq (posn-window (event-start last-command-event))
(selected-window)))
- ;; This is a mouse-down event in the spash screen window.
+ ;; This is a mouse-down event in the splash screen window.
;; Ignore it and consume the corresponding mouse-up event.
(read-event)
(push last-command-event unread-command-events))
(throw 'exit nil))
+(defun fancy-splash-exit ()
+ "Exit the splash screen."
+ (if (get-buffer "GNU Emacs")
+ (throw 'stop-splashing nil)))
+
+(defun fancy-splash-delete-frame (frame)
+ "Exit the splash screen after the frame is deleted."
+ ;; We can not throw from `delete-frame-events', so we set up a timer
+ ;; to exit the recursive edit as soon as Emacs is idle again.
+ (if (frame-live-p frame)
+ (run-at-time 0 nil 'fancy-splash-exit)))
(defun fancy-splash-screens ()
"Display fancy splash screens when Emacs starts."
@@ -1339,12 +1333,17 @@ mouse."
(setq splash-buffer (current-buffer))
(catch 'stop-splashing
(unwind-protect
- (let ((map (make-sparse-keymap)))
- (use-local-map map)
- (define-key map [switch-frame] 'ignore)
+ (let* ((map (make-sparse-keymap))
+ (overriding-local-map map)
+ ;; Catch if our frame is deleted; the delete-frame
+ ;; event is unreliable and is handled by
+ ;; `special-event-map' anyway.
+ (delete-frame-functions (cons 'fancy-splash-delete-frame
+ delete-frame-functions)))
(define-key map [t] 'fancy-splash-default-action)
(define-key map [mouse-movement] 'ignore)
(define-key map [mode-line t] 'ignore)
+ (define-key map [select-window] 'ignore)
(setq cursor-type nil
display-hourglass nil
minor-mode-map-alist nil
@@ -1360,7 +1359,10 @@ mouse."
(cancel-timer timer)
(setq display-hourglass old-hourglass
minor-mode-map-alist old-minor-mode-map-alist)
- (kill-buffer splash-buffer))))))
+ (kill-buffer splash-buffer)
+ (when (frame-live-p frame)
+ (select-frame frame)
+ (switch-to-buffer fancy-splash-outer-buffer)))))))
(defun fancy-splash-frame ()
"Return the frame to use for the fancy splash screen.
@@ -1396,10 +1398,9 @@ we put it on this frame."
(let ((prev-buffer (current-buffer)))
(unwind-protect
(with-current-buffer (get-buffer-create "GNU Emacs")
- (let ((tab-width 8)
- (mode-line-format (propertize "---- %b %-"
- 'face '(:weight bold))))
-
+ (setq mode-line-format (propertize "---- %b %-"
+ 'face '(:weight bold)))
+ (let ((tab-width 8))
(if pure-space-overflow
(insert "Warning Warning Pure space overflow Warning Warning\n"))
@@ -1446,7 +1447,7 @@ Copyright (C) 2005 Free Software Foundation, Inc."))
;; use precomputed string to save lots of time.
(if (and (eq (key-binding "\C-h") 'help-command)
(eq (key-binding "\C-xu") 'advertised-undo)
- (eq (key-binding "\C-x\C-c") 'save-buffers-kill-emacs)
+ (eq (key-binding "\C-x\C-c") 'save-buffers-kill-terminal)
(eq (key-binding "\C-ht") 'help-with-tutorial)
(eq (key-binding "\C-hi") 'info)
(eq (key-binding "\C-hr") 'info-emacs-manual)
@@ -1463,7 +1464,7 @@ Browse manuals C-h i")
Get help %s
Emacs manual \\[info-emacs-manual]
Emacs tutorial \\[help-with-tutorial]\tUndo changes\t\\[advertised-undo]
-Buy manuals \\[view-order-manuals]\tExit Emacs\t\\[save-buffers-kill-emacs]
+Buy manuals \\[view-order-manuals]\tExit Emacs\t\\[save-buffers-kill-terminal]
Browse manuals \\[info]"
(let ((where (where-is-internal
'help-command nil t)))
@@ -1553,10 +1554,11 @@ Type \\[describe-distribution] for information on getting the latest version."))
Fancy splash screens are used on graphic displays,
normal otherwise."
(interactive)
- (if (use-fancy-splash-screens-p)
- (fancy-splash-screens)
- (normal-splash-screen)))
-
+ ;; Prevent recursive calls from server-process-filter.
+ (if (not (get-buffer "GNU Emacs"))
+ (if (use-fancy-splash-screens-p)
+ (fancy-splash-screens)
+ (normal-splash-screen))))
(defun command-line-1 (command-line-args-left)
(or noninteractive (input-pending-p) init-file-had-error
diff --git a/lisp/subr.el b/lisp/subr.el
index ac917a10550..a3e696d0e95 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1479,7 +1479,7 @@ 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 local-function-key-map (vector char))))
(if (arrayp translation)
(setq translated (aref translation 0))))
(cond ((null translated))
@@ -2117,6 +2117,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..0807e655703 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-terminal (selected-frame))))
+ (cond
+ ((eq type t)
+ (talk-add-display (selected-frame)))
+ ((eq type 'x)
+ (talk-add-display (frame-terminal (selected-frame))))
+ (t
+ (error "Unknown frame type"))))
+ (talk-update-buffers))
+
+(defun talk-add-display (frame)
+ (let* ((display (if (frame-live-p frame)
+ (frame-terminal frame)
+ frame))
+ (elt (assoc display talk-display-alist))
+ (name (concat "*talk-" (terminal-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..fda2da44ac8 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 local-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 local-function-key-map "\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..e9de649158a 100644
--- a/lisp/term/internal.el
+++ b/lisp/term/internal.el
@@ -29,20 +29,20 @@
;; ---------------------------------------------------------------------------
;; 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])
+(define-key local-function-key-map [backspace] "\177") ; Normal behaviour for BS
+(define-key local-function-key-map [delete] "\C-d") ; ... and Delete
+(define-key local-function-key-map [tab] [?\t])
+(define-key local-function-key-map [linefeed] [?\n])
+(define-key local-function-key-map [clear] [11])
+(define-key local-function-key-map [return] [13])
+(define-key local-function-key-map [escape] [?\e])
+(define-key local-function-key-map [M-backspace] [?\M-\d])
+(define-key local-function-key-map [M-delete] [?\M-d])
+(define-key local-function-key-map [M-tab] [?\M-\t])
+(define-key local-function-key-map [M-linefeed] [?\M-\n])
+(define-key local-function-key-map [M-clear] [?\M-\013])
+(define-key local-function-key-map [M-return] [?\M-\015])
+(define-key local-function-key-map [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..1a3a65fa716 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 local-function-key-map))
+ (set-keymap-parent local-function-key-map m))))
;;; arch-tag: b1d0e73a-bb7d-47be-9fb2-6fb126469a1b
;;; iris-ansi.el ends here
diff --git a/lisp/term/linux.el b/lisp/term/linux.el
index 7fa9a96e9bd..449cd837089 100644
--- a/lisp/term/linux.el
+++ b/lisp/term/linux.el
@@ -13,9 +13,8 @@
;; Meta will continue to work, because the kernel
;; turns that into Escape.
- (let ((value (current-input-mode)))
- ;; The third arg only matters in that it is not t or nil.
- (set-input-mode (nth 0 value) (nth 1 value) 'iso-latin-1 (nth 3 value))))
+ ;; The arg only matters in that it is not t or nil.
+ (set-input-meta-mode 'iso-latin-1))
;;; arch-tag: 5d0c4f63-739b-4862-abf3-041fe42adb8f
;;; linux.el ends here
diff --git a/lisp/term/lk201.el b/lisp/term/lk201.el
index 1f8d9ca77a3..45271bca700 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 local-function-key-map))
+ (set-keymap-parent local-function-key-map 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 159a9da2cc3..6feaa347c8b 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1062,20 +1062,20 @@ 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])
+(define-key local-function-key-map [backspace] [?\d])
+(define-key local-function-key-map [delete] [?\d])
+(define-key local-function-key-map [tab] [?\t])
+(define-key local-function-key-map [linefeed] [?\n])
+(define-key local-function-key-map [clear] [?\C-l])
+(define-key local-function-key-map [return] [?\C-m])
+(define-key local-function-key-map [escape] [?\e])
+(define-key local-function-key-map [M-backspace] [?\M-\d])
+(define-key local-function-key-map [M-delete] [?\M-\d])
+(define-key local-function-key-map [M-tab] [?\M-\t])
+(define-key local-function-key-map [M-linefeed] [?\M-\n])
+(define-key local-function-key-map [M-clear] [?\M-\C-l])
+(define-key local-function-key-map [M-return] [?\M-\C-m])
+(define-key local-function-key-map [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..ab2d10158c8 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 local-function-key-map "\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 7cd02570d84..79994403301 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -26,138 +26,149 @@
;;; Code:
-(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)
+(defvar rxvt-function-map nil
+ "Function key overrides for rxvt.")
- (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)
+;; 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.
- (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[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[7~" [home])
- (define-key map "\e[8~" [end])
- (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 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[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[7~" [home])
+ (define-key rxvt-function-map "\e[8~" [end])
+ (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 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 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 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 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[7$" [S-home])
+ (define-key rxvt-function-map "\e[8$" [S-end])
+ (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."
- (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])
+ ;; 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.
+ (substitute-key-definition [f11] [S-f1] local-function-key-map)
+ (substitute-key-definition [f12] [S-f2] local-function-key-map)
+ (substitute-key-definition [f13] [S-f3] local-function-key-map)
+ (substitute-key-definition [f14] [S-f4] local-function-key-map)
+ (substitute-key-definition [f15] [S-f5] local-function-key-map)
+ (substitute-key-definition [f16] [S-f6] local-function-key-map)
+ (substitute-key-definition [f17] [S-f7] local-function-key-map)
+ (substitute-key-definition [f18] [S-f8] local-function-key-map)
+ (substitute-key-definition [f19] [S-f9] local-function-key-map)
+ (substitute-key-definition [f20] [S-f10] local-function-key-map)
- (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])
+ (substitute-key-definition [f23] [C-f1] local-function-key-map)
+ (substitute-key-definition [f24] [C-f2] local-function-key-map)
+ (substitute-key-definition [f25] [C-f3] local-function-key-map)
+ (substitute-key-definition [f26] [C-f4] local-function-key-map)
+ (substitute-key-definition [f27] [C-f5] local-function-key-map)
+ (substitute-key-definition [f28] [C-f6] local-function-key-map)
+ (substitute-key-definition [f29] [C-f7] local-function-key-map)
+ (substitute-key-definition [f30] [C-f8] local-function-key-map)
+ (substitute-key-definition [f31] [C-f9] local-function-key-map)
+ (substitute-key-definition [f32] [C-f10] local-function-key-map)
- (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[7$" [S-home])
- (define-key map "\e[8$" [S-end])
- (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])
+ (substitute-key-definition [f33] [C-S-f1] local-function-key-map)
+ (substitute-key-definition [f34] [C-S-f2] local-function-key-map)
+ (substitute-key-definition [f35] [C-S-f3] local-function-key-map)
+ (substitute-key-definition [f36] [C-S-f4] local-function-key-map)
+ (substitute-key-definition [f37] [C-S-f5] local-function-key-map)
+ (substitute-key-definition [f38] [C-S-f6] local-function-key-map)
+ (substitute-key-definition [f39] [C-S-f7] local-function-key-map)
+ (substitute-key-definition [f40] [C-S-f8] local-function-key-map)
+ (substitute-key-definition [f41] [C-S-f9] local-function-key-map)
+ (substitute-key-definition [f42] [C-S-f10] local-function-key-map)
;; 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 local-function-key-map))
+ (set-keymap-parent local-function-key-map m)))
;; Initialize colors and background mode.
(rxvt-register-default-colors)
@@ -280,7 +291,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 (getenv "COLORFGBG" (terminal-id)))
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..99e3ec28c7c 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 local-function-key-map "\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..647e4cc2745 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 local-function-key-map "\e[")
+ (define-key local-function-key-map "\e[" (make-keymap)))
+ ;; (or (lookup-key local-function-key-map "\eO")
+ ;; (define-key local-function-key-map "\eO" (make-keymap)))
;; Miscellaneous keys
(mapcar (function (lambda (key-binding)
- (define-key function-key-map
+ (define-key local-function-key-map
(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 local-function-key-map
(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 local-function-key-map
(format "\e?%c" (+ i ?a))
(vector (intern (format "f%d" (1+ i)))))
- (define-key function-key-map
+ (define-key local-function-key-map
(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..fd31fd11263 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 local-function-key-map "\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..95243322403 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 local-function-key-map "\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..7264b7d94a2 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 local-function-key-map "\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..725e323c00c 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 local-function-key-map "\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..fb749277d50 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 local-function-key-map "\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..3e52d27193b 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 local-function-key-map "\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..f1c7e3732d3 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 local-function-key-map "\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..4d3206cbca1 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 local-function-key-map "\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..d561329d9c6 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 local-function-key-map "\C-a" (make-keymap))
(mapcar (function (lambda (key-definition)
- (define-key function-key-map
+ (define-key local-function-key-map
(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 2eff5661517..a61577215e5 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).
@@ -65,7 +71,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)
@@ -1163,27 +1169,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.
+ (with-selected-frame frame
+ (define-key local-function-key-map [backspace] [127])
+ (define-key local-function-key-map [delete] [127])
+ (define-key local-function-key-map [tab] [?\t])
+ (define-key local-function-key-map [linefeed] [?\n])
+ (define-key local-function-key-map [clear] [?\C-l])
+ (define-key local-function-key-map [return] [?\C-m])
+ (define-key local-function-key-map [escape] [?\e])
+ (define-key local-function-key-map [M-backspace] [?\M-\d])
+ (define-key local-function-key-map [M-delete] [?\M-\d])
+ (define-key local-function-key-map [M-tab] [?\M-\t])
+ (define-key local-function-key-map [M-linefeed] [?\M-\n])
+ (define-key local-function-key-map [M-clear] [?\M-\C-l])
+ (define-key local-function-key-map [M-return] [?\M-\C-m])
+ (define-key local-function-key-map [M-escape] [?\M-\e])
+ (define-key local-function-key-map [iso-lefttab] [backtab])
+ (define-key local-function-key-map [S-iso-lefttab] [backtab])))
;; These tell read-char how to convert
;; these special chars to ASCII.
@@ -2371,146 +2376,150 @@ 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 (or (getenv "DISPLAY" (terminal-id))
+ (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 60b85a4522a..399385b4fc4 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -26,243 +26,252 @@
;;; Code:
+(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 (getenv "COLORTERM" (terminal-id))
+ (string-match "\\`rxvt" (getenv "COLORTERM" (terminal-id))))
+ (progn
(eval-and-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.
+ (substitute-key-definition [f13] [S-f1] local-function-key-map)
+ (substitute-key-definition [f14] [S-f2] local-function-key-map)
+ (substitute-key-definition [f15] [S-f3] local-function-key-map)
+ (substitute-key-definition [f16] [S-f4] local-function-key-map)
+ (substitute-key-definition [f17] [S-f5] local-function-key-map)
+ (substitute-key-definition [f18] [S-f6] local-function-key-map)
+ (substitute-key-definition [f19] [S-f7] local-function-key-map)
+ (substitute-key-definition [f20] [S-f8] local-function-key-map)
+ (substitute-key-definition [f21] [S-f9] local-function-key-map)
+ (substitute-key-definition [f22] [S-f10] local-function-key-map)
+ (substitute-key-definition [f23] [S-f11] local-function-key-map)
+ (substitute-key-definition [f24] [S-f12] local-function-key-map)
+
+ (substitute-key-definition [f25] [C-f1] local-function-key-map)
+ (substitute-key-definition [f26] [C-f2] local-function-key-map)
+ (substitute-key-definition [f27] [C-f3] local-function-key-map)
+ (substitute-key-definition [f28] [C-f4] local-function-key-map)
+ (substitute-key-definition [f29] [C-f5] local-function-key-map)
+ (substitute-key-definition [f30] [C-f6] local-function-key-map)
+ (substitute-key-definition [f31] [C-f7] local-function-key-map)
+ (substitute-key-definition [f32] [C-f8] local-function-key-map)
+ (substitute-key-definition [f33] [C-f9] local-function-key-map)
+ (substitute-key-definition [f34] [C-f10] local-function-key-map)
+ (substitute-key-definition [f35] [C-f11] local-function-key-map)
+ (substitute-key-definition [f36] [C-f12] local-function-key-map)
+
+ (substitute-key-definition [f37] [C-S-f1] local-function-key-map)
+ (substitute-key-definition [f38] [C-S-f2] local-function-key-map)
+ (substitute-key-definition [f39] [C-S-f3] local-function-key-map)
+ (substitute-key-definition [f40] [C-S-f4] local-function-key-map)
+ (substitute-key-definition [f41] [C-S-f5] local-function-key-map)
+ (substitute-key-definition [f42] [C-S-f6] local-function-key-map)
+ (substitute-key-definition [f43] [C-S-f7] local-function-key-map)
+ (substitute-key-definition [f44] [C-S-f8] local-function-key-map)
+ (substitute-key-definition [f45] [C-S-f9] local-function-key-map)
+ (substitute-key-definition [f46] [C-S-f10] local-function-key-map)
+ (substitute-key-definition [f47] [C-S-f11] local-function-key-map)
+ (substitute-key-definition [f48] [C-S-f12] local-function-key-map)
+
+ (substitute-key-definition [f49] [A-f1] local-function-key-map)
+ (substitute-key-definition [f50] [A-f2] local-function-key-map)
+ (substitute-key-definition [f51] [A-f3] local-function-key-map)
+ (substitute-key-definition [f52] [A-f4] local-function-key-map)
+ (substitute-key-definition [f53] [A-f5] local-function-key-map)
+ (substitute-key-definition [f54] [A-f6] local-function-key-map)
+ (substitute-key-definition [f55] [A-f7] local-function-key-map)
+ (substitute-key-definition [f56] [A-f8] local-function-key-map)
+ (substitute-key-definition [f57] [A-f9] local-function-key-map)
+ (substitute-key-definition [f58] [A-f10] local-function-key-map)
+ (substitute-key-definition [f59] [A-f11] local-function-key-map)
+ (substitute-key-definition [f60] [A-f12] local-function-key-map))
;; 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 local-function-key-map))
+ (set-keymap-parent local-function-key-map m)))
;; Do it!
(xterm-register-default-colors)
;; This recomputes all the default faces given the colors we've just set up.
- (tty-set-up-initial-frame-faces)))
+ (tty-set-up-initial-frame-faces))
;; Set up colors, for those versions of xterm that support it.
(defvar xterm-standard-colors
@@ -299,7 +308,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/termdev.el b/lisp/termdev.el
new file mode 100644
index 00000000000..c73fe017046
--- /dev/null
+++ b/lisp/termdev.el
@@ -0,0 +1,195 @@
+;;; termdev.el --- functions for dealing with terminals
+
+;; Copyright (C) 2005 Free Software Foundation, Inc.
+
+;; Author: Karoly Lorentey <karoly@lorentey.hu>
+;; Created: 2005-12-22
+;; Keywords: internal
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+(substitute-key-definition 'suspend-emacs 'suspend-frame global-map)
+
+(defun terminal-id (&optional terminal)
+ "Return the numerical id of terminal TERMINAL.
+
+TERMINAL can be a terminal id (an integer), a frame, or
+nil (meaning the selected frame's terminal). Alternatively,
+TERMINAL may be the name of an X display
+device (HOST.SERVER.SCREEN) or a tty device file."
+ (cond
+ ((integerp terminal)
+ (if (terminal-live-p terminal)
+ terminal
+ (signal 'wrong-type-argument (list 'terminal-live-p terminal))))
+ ((or (null terminal) (framep terminal))
+ (frame-terminal terminal))
+ ((stringp terminal)
+ (let ((f (car (filtered-frame-list (lambda (frame)
+ (or (equal (frame-parameter frame 'display) terminal)
+ (equal (frame-parameter frame 'tty) terminal)))))))
+ (or f (error "Display %s does not exist" terminal))
+ (frame-terminal f)))
+ (t
+ (error "Invalid argument %s in `terminal-id'" terminal))))
+
+;; (defun terminal-getenv (variable &optional terminal global-ok)
+;; "Get the value of VARIABLE in the client environment of TERMINAL.
+;; VARIABLE should be a string. Value is nil if VARIABLE is undefined in
+;; the environment. Otherwise, value is a string.
+
+;; If TERMINAL has an associated emacsclient process, then
+;; `terminal-getenv' looks up VARIABLE in the environment of that
+;; process; otherwise the function consults the global environment,
+;; i.e., the environment of the Emacs process itself.
+
+;; If GLOBAL-OK is non-nil, and VARIABLE is not defined in the
+;; terminal-local environment, then `terminal-getenv' will return
+;; its value in the global environment instead.
+
+;; TERMINAL can be a terminal id, a frame, or nil (meaning the
+;; selected frame's terminal)."
+;; (setq terminal (terminal-id terminal))
+;; (if (null (terminal-parameter terminal 'environment))
+;; (getenv variable)
+;; (if (multibyte-string-p variable)
+;; (setq variable (encode-coding-string variable locale-coding-system)))
+;; (let ((env (terminal-parameter terminal 'environment))
+;; result entry)
+;; (while (and env (null result))
+;; (setq entry (car env)
+;; env (cdr env))
+;; (if (and (> (length entry) (length variable))
+;; (eq ?= (aref entry (length variable)))
+;; (equal variable (substring entry 0 (length variable))))
+;; (setq result (substring entry (+ (length variable) 1)))))
+;; (if (and global-ok (null result))
+;; (getenv variable)
+;; (and result (decode-coding-string result locale-coding-system))))))
+
+;; (defun terminal-setenv (variable &optional value terminal)
+;; "Set the value of VARIABLE in the environment of TERMINAL.
+;; VARIABLE should be string. VALUE is optional; if not provided or
+;; nil, the environment variable VARIABLE is removed. Returned
+;; value is the new value of VARIABLE, or nil if it was removed from
+;; the environment.
+
+;; If TERMINAL was created by an emacsclient invocation, then the
+;; variable is set in the environment of the emacsclient process;
+;; otherwise the function changes the environment of the Emacs
+;; process itself.
+
+;; TERMINAL can be a terminal id, a frame, or nil (meaning the
+;; selected frame's terminal)."
+;; (if (null (terminal-parameter terminal 'environment))
+;; (setenv variable value)
+;; (with-terminal-environment terminal variable
+;; (setenv variable value))))
+
+;; (defun terminal-setenv-internal (variable value terminal)
+;; "Set the value of VARIABLE in the environment of TERMINAL.
+;; The caller is responsible to ensure that both VARIABLE and VALUE
+;; are usable in environment variables and that TERMINAL is a
+;; remote terminal."
+;; (if (multibyte-string-p variable)
+;; (setq variable (encode-coding-string variable locale-coding-system)))
+;; (if (and value (multibyte-string-p value))
+;; (setq value (encode-coding-string value locale-coding-system)))
+;; (let ((env (terminal-parameter terminal 'environment))
+;; found)
+;; (while (and env (not found))
+;; (if (and (> (length (car env)) (length variable))
+;; (eq ?= (aref (car env) (length variable)))
+;; (equal variable (substring (car env) 0 (length variable))))
+;; (progn
+;; (if value
+;; (setcar env (concat variable "=" value))
+;; (set-terminal-parameter terminal 'environment
+;; (delq (car env)
+;; (terminal-parameter terminal
+;; 'environment))))
+;; (setq found t))
+;; (setq env (cdr env))))
+;; (cond
+;; ((and value found)
+;; (setcar env (concat variable "=" value)))
+;; ((and value (not found))
+;; (set-terminal-parameter terminal 'environment
+;; (cons (concat variable "=" value)
+;; (terminal-parameter terminal
+;; 'environment))))
+;; ((and (not value) found)
+;; (set-terminal-parameter terminal 'environment
+;; (delq (car env)
+;; (terminal-parameter terminal
+;; 'environment)))))))
+
+;; (defmacro with-terminal-environment (terminal vars &rest body)
+;; "Evaluate BODY with environment variables VARS set to those of TERMINAL.
+;; The environment variables are then restored to their previous values.
+
+;; VARS should be a single string, a list of strings, or t for all
+;; environment variables.
+
+;; TERMINAL can be a terminal id, a frame, or nil (meaning the
+;; selected frame's terminal).
+
+;; If BODY uses `setenv' to change environment variables in VARS,
+;; then the new variable values will be remembered for TERMINAL, and
+;; `terminal-getenv' will return them even outside BODY."
+;; (declare (indent 2))
+;; (let ((var (make-symbol "var"))
+;; (term (make-symbol "term"))
+;; (v (make-symbol "v"))
+;; (old-env (make-symbol "old-env")))
+;; `(let ((,term ,terminal) ; Evaluate arguments only once.
+;; (,v ,vars))
+;; (if (stringp ,v)
+;; (setq ,v (list ,v)))
+;; (cond
+;; ((null (terminal-parameter ,term 'environment))
+;; ;; Not a remote terminal; nothing to do.
+;; (progn ,@body))
+;; ((eq ,v t)
+;; ;; Switch the entire process-environment.
+;; (let (,old-env process-environment)
+;; (setq process-environment (terminal-parameter ,term 'environment))
+;; (unwind-protect
+;; (progn ,@body)
+;; (set-terminal-parameter ,term 'environment process-environment)
+;; (setq process-environment ,old-env))))
+;; (t
+;; ;; Do only a set of variables.
+;; (let (,old-env)
+;; (dolist (,var ,v)
+;; (setq ,old-env (cons (cons ,var (getenv ,var)) ,old-env))
+;; (setenv ,var (terminal-getenv ,var ,term)))
+;; (unwind-protect
+;; (progn ,@body)
+;; ;; Split storing new values and restoring old ones so
+;; ;; that we DTRT even if a variable is specified twice in
+;; ;; VARS.
+;; (dolist (,var ,v)
+;; (terminal-setenv-internal ,var (getenv ,var) ,term))
+;; (dolist (,var ,old-env)
+;; (setenv (car ,var) (cdr ,var))))))))))
+
+(provide 'termdev)
+
+;;; arch-tag: 4c4df277-1ec1-4f56-bfde-7f156fe62fb2
+;;; termdev.el ends here
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 88a39ea679e..423c6cdfc52 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 7b069df2cbf..0036712fec4 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -43,6 +43,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)
@@ -99,17 +100,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)
@@ -141,8 +146,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)
(setq
last-input-event
(if w
@@ -164,7 +169,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
@@ -173,15 +178,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 (terminal-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 (terminal-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-terminal 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)