aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorKaroly Lorentey2003-12-30 17:05:05 +0000
committerKaroly Lorentey2003-12-30 17:05:05 +0000
commit7c3a26158711d76ee77b0bd75fa9df56db5eb57d (patch)
treef808bf77a5b47ce2c8aec0a31187626860d566b6 /lisp
parentc1c63edb7907e35085f2d61507e1047db85d52c7 (diff)
parent8a37230a70acc8943ba45f52504179ddcc1a5468 (diff)
downloademacs-7c3a26158711d76ee77b0bd75fa9df56db5eb57d.tar.gz
emacs-7c3a26158711d76ee77b0bd75fa9df56db5eb57d.zip
Merged in changes from CVS head
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-5 Add =cvs-sync-make-log script * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-6 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-7 Use absolute tla-tools filenames in =cvs-sync-make-log * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-8 Use proper arch-tag: syntax for lispintro/texinfo.tex * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-9 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-24
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog213
-rw-r--r--lisp/arc-mode.el2
-rw-r--r--lisp/autorevert.el5
-rw-r--r--lisp/bookmark.el5
-rw-r--r--lisp/comint.el139
-rw-r--r--lisp/custom.el12
-rw-r--r--lisp/emacs-lisp/easymenu.el4
-rw-r--r--lisp/emacs-lisp/tcover-ses.el (renamed from lisp/emacs-lisp/testcover-ses.el)0
-rw-r--r--lisp/emacs-lisp/tcover-unsafep.el (renamed from lisp/emacs-lisp/testcover-unsafep.el)0
-rw-r--r--lisp/filecache.el29
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/find-dired.el21
-rw-r--r--lisp/font-lock.el3
-rw-r--r--lisp/frame.el25
-rw-r--r--lisp/generic-x.el33
-rw-r--r--lisp/generic.el4
-rw-r--r--lisp/info-look.el2
-rw-r--r--lisp/info.el2
-rw-r--r--lisp/international/mule-cmds.el22
-rw-r--r--lisp/language/cyrillic.el23
-rw-r--r--lisp/mail/rfc822.el24
-rw-r--r--lisp/mail/rmail.el53
-rw-r--r--lisp/net/ange-ftp.el7
-rw-r--r--lisp/net/zone-mode.el2
-rw-r--r--lisp/obsolete/sc.el2
-rw-r--r--lisp/play/handwrite.el3
-rw-r--r--lisp/progmodes/antlr-mode.el2
-rw-r--r--lisp/progmodes/gud.el11
-rw-r--r--lisp/progmodes/sh-script.el3
-rw-r--r--lisp/register.el6
-rw-r--r--lisp/shell.el37
-rw-r--r--lisp/simple.el6
-rw-r--r--lisp/subr.el28
-rw-r--r--lisp/term.el44
-rw-r--r--lisp/textmodes/flyspell.el6
-rw-r--r--lisp/textmodes/table.el8
-rw-r--r--lisp/textmodes/texinfo.el8
-rw-r--r--lisp/toolbar/gud-n.pbm (renamed from lisp/toolbar/gud-next.pbm)bin81 -> 81 bytes
-rw-r--r--lisp/toolbar/gud-n.xpm (renamed from lisp/toolbar/gud-next.xpm)0
-rw-r--r--lisp/toolbar/gud-ni.pbm (renamed from lisp/toolbar/gud-nexti.pbm)bin81 -> 81 bytes
-rw-r--r--lisp/toolbar/gud-ni.xpm (renamed from lisp/toolbar/gud-nexti.xpm)0
-rw-r--r--lisp/toolbar/gud-s.pbm (renamed from lisp/toolbar/gud-step.pbm)bin81 -> 81 bytes
-rw-r--r--lisp/toolbar/gud-s.xpm (renamed from lisp/toolbar/gud-step.xpm)0
-rw-r--r--lisp/toolbar/gud-si.pbm (renamed from lisp/toolbar/gud-stepi.pbm)bin81 -> 81 bytes
-rw-r--r--lisp/toolbar/gud-si.xpm (renamed from lisp/toolbar/gud-stepi.xpm)0
-rw-r--r--lisp/xml.el30
46 files changed, 620 insertions, 212 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 56587ae22ed..97539c809ed 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,192 @@
12003-12-30 Eli Zaretskii <eliz@elta.co.il>
2
3 * mail/rmail.el (rmail-convert-to-babyl-format): Fix off-by-one
4 error in arguments to base64-decode-region. Remove ^M characters
5 after decoding base64.
6
72003-12-30 Simon Josefsson <jas@extundo.com>
8
9 * textmodes/texinfo.el: Change maintainer to FSF. Suggested by
10 karl@freefriends.org (Karl Berry), since the Texinfo Elisp files
11 have only been distributed with Emacs for some years.
12 (texinfo-mode-hook): Customize.
13
142003-12-30 Eli Zaretskii <eliz@elta.co.il>
15
16 * mail/rmail.el (rmail-convert-to-babyl-format): Make the code
17 cleaner (suggested by Richard Stallman).
18
19 * progmodes/gud.el (gud-tool-bar-map): Modify names of icon files
20 for gud-next, gud-nexti, gud-step and gud-stepi to prevent
21 file-name clashes on 8+3 DOS filesystems.
22
23 * toolbar/gud-next.pbm, toolbar/gud-next.xpm
24 * toolbar/gud-nexti.pbm, toolbar/gud-nexti.xpm
25 * toolbar/gud-step.pbm, toolbar/gud-step.xpm
26 * toolbar/gud-stepi.pbm, toolbar/gud-stepi.xpm: Renamed to
27 gud-n.*, gud-ni.*, gud-s.*, and gud-si.*, respectively, to avoid
28 file-name clashes on 8+3 filesystems.
29
30 * emacs-lisp/tcover-unsafep.el, emacs-lisp/tcover-ses.el: Renamed
31 from testcover-unsafep.el and testcover-ses.el to avoid file-name
32 clashes on 8+3 DOS filesystems.
33
342003-12-29 Richard M. Stallman <rms@gnu.org>
35
36 * textmodes/flyspell.el (mail-mode-flyspell-verify):
37 Search for header separator alone on a line, literally,
38 and search for it backward, not forward.
39 (flyspell-abbrev-table): Always use global-abbrev-table
40 if there is no local one.
41
42 * progmodes/sh-script.el (sh-get-indent-info):
43 Don't move point back if at bob.
44
45 * progmodes/antlr-mode.el (save-buffer-state-x): Use with-no-warnings.
46
47 * play/handwrite.el (handwrite): Make the handwrite credit message
48 a comment rather than an output command.
49
50 * obsolete/sc.el: Display message that this file is obsolete.
51
52 * net/ange-ftp.el (ange-ftp-start-process): Copy the environment.
53
54 * mail/rfc822.el (rfc822-address-start): Declare variable.
55 Renamed from address-start. All uses changed.
56
57 * term.el (term-exec): Set up sentinel.
58 (term-sentinel): New function.
59 (term-handle-exit): New function.
60
61 * subr.el (assoc-ignore-case, assoc-ignore-representation):
62 Use assoc-string, and mark them obsolete.
63 (delay-mode-hooks): Mark as permanent local.
64
65 * simple.el (sendmail-user-agent-compose): Use assoc-string.
66
67 * register.el (copy-rectangle-to-register): Doc fix.
68
69 * info.el (Info-insert-dir): Use assoc-string.
70
71 * info-look.el (info-lookup): Use assoc-string.
72
73 * frame.el (pop-up-frame-function): Use quote, not `function'.
74 (frame-notice-user-settings): Calculate ADJUSTED-TOP
75 copying with lists as coordinate values.
76
77 * font-lock.el (font-lock-after-change-function): Bind inhibit-quit.
78
79 * find-dired.el (kill-find): New command.
80 (find-dired): Make buffer read-only.
81 Set up a keymap with C-c C-k running kill-find.
82 (find-dired-filter, find-dired-sentinel): Bind inhibit-read-only.
83
84 * files.el (backup-buffer-copy): If MODES is nil, don't set modes.
85
86 * filecache.el (file-cache-ignore-case): New variable.
87 (file-cache-assoc-function): Var deleted. Use assoc-string instead.
88
89 * comint.el (comint-arguments): Set COUNT after ARGS is complete.
90 (comint-dynamic-complete-as-filename): Rename local vars.
91 (comint-dynamic-list-filename-completions): Likewise.
92
93 * comint.el (comint-dynamic-list-completions-config): New var.
94 (comint-dynamic-list-completions): Handle both SPC and TAB right.
95
96 * comint.el (comint-file-name-chars): Add [].
97 (comint-word): Use skip-chars-backward, not search.
98
99 * shell.el (shell-file-name-chars): Add [].
100
101 * shell.el (shell-dynamic-complete-as-command): Rename local vars.
102
103 * bookmark.el (bookmark-get-bookmark): Use assoc-string.
104
105 * generic.el (define-generic-mode): Doc fix.
106
1072003-12-29 Eli Zaretskii <eliz@elta.co.il>
108
109 * files.el (kill-some-buffers): Doc fix.
110
1112003-12-29 David Herring <sdh6@ra.msstate.edu> (tiny change)
112
113 * comint.el (comint-watch-for-password-prompt): Pass `string' as
114 arg to send-invisible
115 (send-invisible): Doc fix. The argument is now a prompt, not the
116 string to send.
117 (comint-read-noecho): Doc fix.
118
1192003-12-29 Michael R. Wolf <MichaelRWolf@att.net> (tiny change)
120
121 * net/ange-ftp.el (ange-ftp-name-format): Allow USER to contain
122 "@", as required by some ISP hosting service. Fix defcustom
123 argument syntax errors that prevented use of customization.
124
1252003-12-29 Eli Zaretskii <eliz@elta.co.il>
126
127 * xml.el (xml-get-attribute-or-nil): Doc fix.
128
1292003-12-29 Peter 'Luna' Runestig <peter@runestig.com>
130
131 * net/zone-mode.el (zone-mode): Use write-file-functions, not
132 write-file-hooks.
133
1342003-12-29 Eric Hanchrow <offby1@blarg.net> (tiny change)
135
136 * autorevert.el (auto-revert-interval): Doc fix.
137
1382003-12-29 Mark A. Hershberger <mah@everybody.org>
139
140 * xml.el (xml-get-attribute-or-nil): New function, like
141 xml-get-attribute, but returns nil if the attribute was not found.
142 (xml-get-attribute): Converted to defsubst, uses
143 xml-get-attribute-or-nil.
144
1452003-12-29 Eli Zaretskii <eliz@elta.co.il>
146
147 * emacs-lisp/easymenu.el (easy-menu-define): Doc fix.
148
1492003-12-29 Alex Schroeder <alex@emacswiki.org> (tiny change)
150
151 * custom.el (custom-declare-theme): Use `value' when putting
152 properties on `theme'.
153
1542003-12-29 Takaaki Ota <Takaaki.Ota@am.sony.com>
155
156 * subr.el (insert-for-yank): Call insert-for-yank-1 repetitively
157 for each yank-handler segment.
158 (insert-for-yank-1): New function, with the body of the previous
159 insert-for-yank.
160
161 * textmodes/table.el (table-yank-handler): New defcustom.
162 (table--put-cell-indicator-property): Put yank-handler property
163 that indicates the yank handler for the table cell.
164
1652003-12-29 Jesper Harder <harder@ifa.au.dk> (tiny change)
166
167 * generic-x.el (etc-modules-conf-generic-mode): A more complete
168 set of keywords.
169
1702003-12-29 Eli Zaretskii <eliz@elta.co.il>
171
172 * international/mule-cmds.el (reset-language-environment)
173 (set-language-environment): Don't invoke fontset-related functions
174 if fontset-list is not fboundp.
175
1762003-12-29 Kenichi Handa <handa@m17n.org>
177
178 * international/mule-cmds.el (reset-language-environment): Call
179 set-overriding-fontspec-internal with nil.
180 (set-language-environment): Call set-overriding-fontspec-internal
181 if the language environment specify `overriding-fontspec'.
182 (language-info-alist): Doc added.
183
184 * language/cyrillic.el (ccl-encode-koi8-font): Make it work for
185 characters of mule-unicode-0100-24ff.
186 (ccl-encode-windows-1251-font): New CCL program.
187 ("Bulgarian"): Specify overriding-fontspec.
188 ("Belarusian"): Likewise.
189
12003-12-28 Sam Steingold <sds@gnu.org> 1902003-12-28 Sam Steingold <sds@gnu.org>
2 191
3 * net/ange-ftp.el (ange-ftp-file-attributes): Add new optional 192 * net/ange-ftp.el (ange-ftp-file-attributes): Add new optional
@@ -46,6 +235,14 @@
46 235
47 * ffap.el (ffap-read-file-or-url): Revert previous change. 236 * ffap.el (ffap-read-file-or-url): Revert previous change.
48 237
2382003-12-25 Robert J. Chassell <bob@rattlesnake.com>
239
240 * textmodes/texnfo-upd.el (texinfo-multi-file-update): Create a
241 new list of included files called `files-with-node-lines', that
242 only have node lines. This way @include commands can include any
243 file, such as version and update files without node lines, not
244 just files that are chapters.
245
492003-12-25 Andreas Schwab <schwab@suse.de> 2462003-12-25 Andreas Schwab <schwab@suse.de>
50 247
51 * jka-compr.el (jka-compr-insert-file-contents): Avoid error when 248 * jka-compr.el (jka-compr-insert-file-contents): Avoid error when
@@ -542,10 +739,18 @@
542 739
5432003-11-01 Mark A. Hershberger <mah@everybody.org> 7402003-11-01 Mark A. Hershberger <mah@everybody.org>
544 741
545 * xml.el: Allow comments following the top-level element. 742 * xml.el (xml-parse-region): Allow comments to appear after the
546 Separate out namespace parsing into special functions. 743 topmost element has closed.
547 Change namespace parsing to return ('ns-uri . "local-name") 744 (xml-ns-parse-ns-attrs, xml-ns-expand-el)
548 instead of '{ns-uri}local-name. 745 (xml-ns-expand-attr): New functions to do namespace handling.
746 (xml-intern-attrlist): Back-compatible handling of attribute
747 names.
748 (xml-parse-tag): Move namespace handling to seperate functions.
749 Now produces elements in the form ((:ns . "element") (attr-list)
750 children) instead of ('ns:element (attr-list) children).
751 (xml-parse-attlist): Fix attribute parsing.
752 (xml-parse-dtd): Change parsing so that it produces strings
753 instead of interned symbols.
549 754
5502003-11-01 era@iki.fi <era@iki.fi> (tiny change) 7552003-11-01 era@iki.fi <era@iki.fi> (tiny change)
551 756
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 9f254b54d69..7ac7a402c3a 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -2,7 +2,7 @@
2 2
3;; Copyright (C) 1995, 1997, 1998, 2003 Free Software Foundation, Inc. 3;; Copyright (C) 1995, 1997, 1998, 2003 Free Software Foundation, Inc.
4 4
5;; Author: Morten Welinder <terra@diku.dk> 5;; Author: Morten Welinder <terra@gnu.org>
6;; Keywords: archives msdog editing major-mode 6;; Keywords: archives msdog editing major-mode
7;; Favourite-brand-of-beer: None, I hate beer. 7;; Favourite-brand-of-beer: None, I hate beer.
8 8
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index f366d5c7547..fac91332a5e 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -97,7 +97,10 @@ Never set this variable directly, use the command `auto-revert-mode' instead.")
97(put 'auto-revert-mode 'permanent-local t) 97(put 'auto-revert-mode 'permanent-local t)
98 98
99(defcustom auto-revert-interval 5 99(defcustom auto-revert-interval 5
100 "Time, in seconds, between Auto-Revert Mode file checks." 100 "Time, in seconds, between Auto-Revert Mode file checks.
101Setting this variable has no effect on buffers that are already in
102auto-revert-mode; it only affects buffers that are put into
103auto-revert-mode afterwards."
101 :group 'auto-revert 104 :group 'auto-revert
102 :type 'integer) 105 :type 'integer)
103 106
diff --git a/lisp/bookmark.el b/lisp/bookmark.el
index 762de7323a2..67ae2c84865 100644
--- a/lisp/bookmark.el
+++ b/lisp/bookmark.el
@@ -335,10 +335,7 @@ through a file easier.")
335 "Return the full entry for BOOKMARK in bookmark-alist. 335 "Return the full entry for BOOKMARK in bookmark-alist.
336If BOOKMARK is not a string, return nil." 336If BOOKMARK is not a string, return nil."
337 (when (stringp bookmark) 337 (when (stringp bookmark)
338 (apply (if bookmark-completion-ignore-case 338 (assoc-string bookmark bookmark-alist bookmark-completion-ignore-case)))
339 #'assoc-ignore-case
340 #'assoc)
341 (list bookmark bookmark-alist))))
342 339
343 340
344(defun bookmark-get-bookmark-record (bookmark) 341(defun bookmark-get-bookmark-record (bookmark)
diff --git a/lisp/comint.el b/lisp/comint.el
index 5509e71d984..6bc40a01bd3 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -1344,16 +1344,16 @@ Argument 0 is the command name."
1344 ;; Put the previous arg, if there was one, onto ARGS. 1344 ;; Put the previous arg, if there was one, onto ARGS.
1345 (setq str (substring string beg pos) 1345 (setq str (substring string beg pos)
1346 args (if quotes (cons str args) 1346 args (if quotes (cons str args)
1347 (nconc (comint-delim-arg str) args)) 1347 (nconc (comint-delim-arg str) args))))
1348 count (1+ count))) 1348 (setq count (length args))
1349 (setq quotes (match-beginning 1)) 1349 (setq quotes (match-beginning 1))
1350 (setq beg (match-beginning 0)) 1350 (setq beg (match-beginning 0))
1351 (setq pos (match-end 0)))) 1351 (setq pos (match-end 0))))
1352 (if beg 1352 (if beg
1353 (setq str (substring string beg pos) 1353 (setq str (substring string beg pos)
1354 args (if quotes (cons str args) 1354 args (if quotes (cons str args)
1355 (nconc (comint-delim-arg str) args)) 1355 (nconc (comint-delim-arg str) args))))
1356 count (1+ count))) 1356 (setq count (length args))
1357 (let ((n (or nth (1- count))) 1357 (let ((n (or nth (1- count)))
1358 (m (if mth (1- (- count mth)) 0))) 1358 (m (if mth (1- (- count mth)) 0)))
1359 (mapconcat 1359 (mapconcat
@@ -1901,7 +1901,8 @@ RET, LFD, or ESC. DEL or C-h rubs out. C-u kills line. C-g aborts (if
1901filter and C-g is pressed, this function returns nil rather than a string). 1901filter and C-g is pressed, this function returns nil rather than a string).
1902 1902
1903Note that the keystrokes comprising the text can still be recovered 1903Note that the keystrokes comprising the text can still be recovered
1904\(temporarily) with \\[view-lossage]. Some people find this worrysome. 1904\(temporarily) with \\[view-lossage]. Some people find this worrysome (see,
1905however, `clear-this-command-keys').
1905Once the caller uses the password, it can erase the password 1906Once the caller uses the password, it can erase the password
1906by doing (clear-string STRING)." 1907by doing (clear-string STRING)."
1907 (let ((ans "") 1908 (let ((ans "")
@@ -1948,24 +1949,22 @@ by doing (clear-string STRING)."
1948 (message "") 1949 (message "")
1949 ans))) 1950 ans)))
1950 1951
1951(defun send-invisible (str) 1952(defun send-invisible (&optional prompt)
1952 "Read a string without echoing. 1953 "Read a string without echoing.
1953Then send it to the process running in the current buffer. 1954Then send it to the process running in the current buffer.
1954The string is sent using `comint-input-sender'. 1955The string is sent using `comint-input-sender'.
1955Security bug: your string can still be temporarily recovered with 1956Security bug: your string can still be temporarily recovered with
1956\\[view-lossage]." 1957\\[view-lossage]; `clear-this-command-keys' can fix that."
1957 (interactive "P") ; Defeat snooping via C-x ESC ESC 1958 (interactive "P") ; Defeat snooping via C-x ESC ESC
1958 (let ((proc (get-buffer-process (current-buffer)))) 1959 (let ((proc (get-buffer-process (current-buffer))))
1959 (cond ((not proc) 1960 (if proc
1960 (error "Current buffer has no process")) 1961 (let ((str (comint-read-noecho (or prompt "Non-echoed text: ") t)))
1961 ((stringp str) 1962 (if (stringp str)
1962 (comint-snapshot-last-prompt) 1963 (progn
1963 (funcall comint-input-sender proc str)) 1964 (comint-snapshot-last-prompt)
1964 (t 1965 (funcall comint-input-sender proc str))
1965 (let ((str (comint-read-noecho "Non-echoed text: " t))) 1966 (message "Warning: text will be echoed")))
1966 (if (stringp str) 1967 (error "Current buffer has no process"))))
1967 (send-invisible str)
1968 (message "Warning: text will be echoed")))))))
1969 1968
1970(defun comint-watch-for-password-prompt (string) 1969(defun comint-watch-for-password-prompt (string)
1971 "Prompt in the minibuffer for password and send without echoing. 1970 "Prompt in the minibuffer for password and send without echoing.
@@ -1977,8 +1976,7 @@ This function could be in the list `comint-output-filter-functions'."
1977 (when (string-match comint-password-prompt-regexp string) 1976 (when (string-match comint-password-prompt-regexp string)
1978 (when (string-match "^[ \n\r\t\v\f\b\a]+" string) 1977 (when (string-match "^[ \n\r\t\v\f\b\a]+" string)
1979 (setq string (replace-match "" t t string))) 1978 (setq string (replace-match "" t t string)))
1980 (let ((pw (comint-read-noecho string t))) 1979 (send-invisible string)))
1981 (send-invisible pw))))
1982 1980
1983;; Low-level process communication 1981;; Low-level process communication
1984 1982
@@ -2084,7 +2082,7 @@ between the process-mark and point."
2084 (comint-skip-input) 2082 (comint-skip-input)
2085 (interrupt-process nil comint-ptyp) 2083 (interrupt-process nil comint-ptyp)
2086;; (process-send-string nil "\n") 2084;; (process-send-string nil "\n")
2087 ) 2085)
2088 2086
2089(defun comint-kill-subjob () 2087(defun comint-kill-subjob ()
2090 "Send kill signal to the current subjob. 2088 "Send kill signal to the current subjob.
@@ -2553,7 +2551,7 @@ directory tracking functions.")
2553(defvar comint-file-name-chars 2551(defvar comint-file-name-chars
2554 (if (memq system-type '(ms-dos windows-nt cygwin)) 2552 (if (memq system-type '(ms-dos windows-nt cygwin))
2555 "~/A-Za-z0-9_^$!#%&{}@`'.,:()-" 2553 "~/A-Za-z0-9_^$!#%&{}@`'.,:()-"
2556 "~/A-Za-z0-9+@:_.$#%,={}-") 2554 "[]~/A-Za-z0-9+@:_.$#%,={}-")
2557 "String of characters valid in a file name. 2555 "String of characters valid in a file name.
2558Note that all non-ASCII characters are considered valid in a file name 2556Note that all non-ASCII characters are considered valid in a file name
2559regardless of what this variable says. 2557regardless of what this variable says.
@@ -2579,15 +2577,19 @@ Word constituents are considered to be those in WORD-CHARS, which is like the
2579inside of a \"[...]\" (see `skip-chars-forward'), 2577inside of a \"[...]\" (see `skip-chars-forward'),
2580plus all non-ASCII characters." 2578plus all non-ASCII characters."
2581 (save-excursion 2579 (save-excursion
2582 (let ((non-word-chars (concat "[^\\\\" word-chars "]")) (here (point))) 2580 (let ((here (point))
2583 (while (and (re-search-backward non-word-chars nil 'move) 2581 giveup)
2584 ;;(memq (char-after (point)) shell-file-name-quote-list) 2582 (while (not giveup)
2585 (or (>= (following-char) 128) 2583 (let ((startpoint (point)))
2586 (eq (preceding-char) ?\\))) 2584 (skip-chars-backward (concat "\\\\" word-chars))
2587 (backward-char 1)) 2585 (if (and (> (- (point) 2) (point-min))
2588 ;; Don't go forward over a word-char (this can happen if we're at bob). 2586 (= (char-after (- (point) 2)) ?\\))
2589 (when (or (not (bobp)) (looking-at non-word-chars)) 2587 (forward-char -2))
2590 (forward-char 1)) 2588 (if (and (> (- (point) 1) (point-min))
2589 (>= (char-after (- (point) 1)) 128))
2590 (forward-char -1))
2591 (if (= (point) startpoint)
2592 (setq giveup t))))
2591 ;; Set match-data to match the entire string. 2593 ;; Set match-data to match the entire string.
2592 (when (< (point) here) 2594 (when (< (point) here)
2593 (set-match-data (list (point) here)) 2595 (set-match-data (list (point) here))
@@ -2699,10 +2701,10 @@ See `comint-dynamic-complete-filename'. Returns t if successful."
2699 (t 2701 (t
2700 (cdr comint-completion-addsuffix)))) 2702 (cdr comint-completion-addsuffix))))
2701 (filename (or (comint-match-partial-filename) "")) 2703 (filename (or (comint-match-partial-filename) ""))
2702 (pathdir (file-name-directory filename)) 2704 (filedir (file-name-directory filename))
2703 (pathnondir (file-name-nondirectory filename)) 2705 (filenondir (file-name-nondirectory filename))
2704 (directory (if pathdir (comint-directory pathdir) default-directory)) 2706 (directory (if filedir (comint-directory filedir) default-directory))
2705 (completion (file-name-completion pathnondir directory))) 2707 (completion (file-name-completion filenondir directory)))
2706 (cond ((null completion) 2708 (cond ((null completion)
2707 (message "No completions of %s" filename) 2709 (message "No completions of %s" filename)
2708 (setq success nil)) 2710 (setq success nil))
@@ -2716,21 +2718,21 @@ See `comint-dynamic-complete-filename'. Returns t if successful."
2716 (let ((file (concat (file-name-as-directory directory) completion))) 2718 (let ((file (concat (file-name-as-directory directory) completion)))
2717 (insert (comint-quote-filename 2719 (insert (comint-quote-filename
2718 (substring (directory-file-name completion) 2720 (substring (directory-file-name completion)
2719 (length pathnondir)))) 2721 (length filenondir))))
2720 (cond ((symbolp (file-name-completion completion directory)) 2722 (cond ((symbolp (file-name-completion completion directory))
2721 ;; We inserted a unique completion. 2723 ;; We inserted a unique completion.
2722 (insert (if (file-directory-p file) dirsuffix filesuffix)) 2724 (insert (if (file-directory-p file) dirsuffix filesuffix))
2723 (unless minibuffer-p 2725 (unless minibuffer-p
2724 (message "Completed"))) 2726 (message "Completed")))
2725 ((and comint-completion-recexact comint-completion-addsuffix 2727 ((and comint-completion-recexact comint-completion-addsuffix
2726 (string-equal pathnondir completion) 2728 (string-equal filenondir completion)
2727 (file-exists-p file)) 2729 (file-exists-p file))
2728 ;; It's not unique, but user wants shortest match. 2730 ;; It's not unique, but user wants shortest match.
2729 (insert (if (file-directory-p file) dirsuffix filesuffix)) 2731 (insert (if (file-directory-p file) dirsuffix filesuffix))
2730 (unless minibuffer-p 2732 (unless minibuffer-p
2731 (message "Completed shortest"))) 2733 (message "Completed shortest")))
2732 ((or comint-completion-autolist 2734 ((or comint-completion-autolist
2733 (string-equal pathnondir completion)) 2735 (string-equal filenondir completion))
2734 ;; It's not unique, list possible completions. 2736 ;; It's not unique, list possible completions.
2735 (comint-dynamic-list-filename-completions)) 2737 (comint-dynamic-list-filename-completions))
2736 (t 2738 (t
@@ -2814,10 +2816,10 @@ See also `comint-dynamic-complete-filename'."
2814 ;; but subsequent changes may have made this unnecessary. sm. 2816 ;; but subsequent changes may have made this unnecessary. sm.
2815 ;;(file-name-handler-alist nil) 2817 ;;(file-name-handler-alist nil)
2816 (filename (or (comint-match-partial-filename) "")) 2818 (filename (or (comint-match-partial-filename) ""))
2817 (pathdir (file-name-directory filename)) 2819 (filedir (file-name-directory filename))
2818 (pathnondir (file-name-nondirectory filename)) 2820 (filenondir (file-name-nondirectory filename))
2819 (directory (if pathdir (comint-directory pathdir) default-directory)) 2821 (directory (if filedir (comint-directory filedir) default-directory))
2820 (completions (file-name-all-completions pathnondir directory))) 2822 (completions (file-name-all-completions filenondir directory)))
2821 (if (not completions) 2823 (if (not completions)
2822 (message "No completions of %s" filename) 2824 (message "No completions of %s" filename)
2823 (comint-dynamic-list-completions 2825 (comint-dynamic-list-completions
@@ -2829,6 +2831,8 @@ See also `comint-dynamic-complete-filename'."
2829;; command is repeatedly used without the set of completions changing. 2831;; command is repeatedly used without the set of completions changing.
2830(defvar comint-displayed-dynamic-completions nil) 2832(defvar comint-displayed-dynamic-completions nil)
2831 2833
2834(defvar comint-dynamic-list-completions-config nil)
2835
2832(defun comint-dynamic-list-completions (completions) 2836(defun comint-dynamic-list-completions (completions)
2833 "List in help buffer sorted COMPLETIONS. 2837 "List in help buffer sorted COMPLETIONS.
2834Typing SPC flushes the help buffer." 2838Typing SPC flushes the help buffer."
@@ -2858,30 +2862,35 @@ Typing SPC flushes the help buffer."
2858 (select-window window) 2862 (select-window window)
2859 (scroll-up)))) 2863 (scroll-up))))
2860 2864
2861 (let ((conf (current-window-configuration))) 2865 ;; Display a completion list for the first time.
2862 (with-output-to-temp-buffer "*Completions*" 2866 (setq comint-dynamic-list-completions-config
2863 (display-completion-list completions)) 2867 (current-window-configuration))
2864 (message "Type space to flush; repeat completion command to scroll") 2868 (with-output-to-temp-buffer "*Completions*"
2865 (let (key first) 2869 (display-completion-list completions))
2866 (if (save-excursion 2870 (message "Type space to flush; repeat completion command to scroll"))
2867 (set-buffer (get-buffer "*Completions*")) 2871
2868 (set (make-local-variable 2872 ;; Read the next key, to process SPC.
2869 'comint-displayed-dynamic-completions) 2873 (let (key first)
2870 completions) 2874 (if (save-excursion
2871 (setq key (read-key-sequence nil) 2875 (set-buffer (get-buffer "*Completions*"))
2872 first (aref key 0)) 2876 (set (make-local-variable
2873 (and (consp first) (consp (event-start first)) 2877 'comint-displayed-dynamic-completions)
2874 (eq (window-buffer (posn-window (event-start first))) 2878 completions)
2875 (get-buffer "*Completions*")) 2879 (setq key (read-key-sequence nil)
2876 (eq (key-binding key) 'mouse-choose-completion))) 2880 first (aref key 0))
2877 ;; If the user does mouse-choose-completion with the mouse, 2881 (and (consp first) (consp (event-start first))
2878 ;; execute the command, then delete the completion window. 2882 (eq (window-buffer (posn-window (event-start first)))
2879 (progn 2883 (get-buffer "*Completions*"))
2880 (mouse-choose-completion first) 2884 (eq (key-binding key) 'mouse-choose-completion)))
2881 (set-window-configuration conf)) 2885 ;; If the user does mouse-choose-completion with the mouse,
2882 (if (eq first ?\ ) 2886 ;; execute the command, then delete the completion window.
2883 (set-window-configuration conf) 2887 (progn
2884 (setq unread-command-events (listify-key-sequence key))))))))) 2888 (mouse-choose-completion first)
2889 (set-window-configuration comint-dynamic-list-completions-config))
2890 (unless (eq first ?\ )
2891 (setq unread-command-events (listify-key-sequence key)))
2892 (unless (eq first ?\t)
2893 (set-window-configuration comint-dynamic-list-completions-config))))))
2885 2894
2886 2895
2887(defun comint-get-next-from-history () 2896(defun comint-get-next-from-history ()
diff --git a/lisp/custom.el b/lisp/custom.el
index aa4d0d8353f..ea0567d3109 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -558,17 +558,17 @@ from THEME by `custom-make-theme-feature'."
558 (error "Keyword %s is missing an argument" keyword)) 558 (error "Keyword %s is missing an argument" keyword))
559 (setq args (cdr args)) 559 (setq args (cdr args))
560 (cond ((eq keyword :short-description) 560 (cond ((eq keyword :short-description)
561 (put theme 'theme-short-description short-description)) 561 (put theme 'theme-short-description value))
562 ((eq keyword :immediate) 562 ((eq keyword :immediate)
563 (put theme 'theme-immediate immediate)) 563 (put theme 'theme-immediate value))
564 ((eq keyword :variable-set-string) 564 ((eq keyword :variable-set-string)
565 (put theme 'theme-variable-set-string variable-set-string)) 565 (put theme 'theme-variable-set-string value))
566 ((eq keyword :variable-reset-string) 566 ((eq keyword :variable-reset-string)
567 (put theme 'theme-variable-reset-string variable-reset-string)) 567 (put theme 'theme-variable-reset-string value))
568 ((eq keyword :face-set-string) 568 ((eq keyword :face-set-string)
569 (put theme 'theme-face-set-string face-set-string)) 569 (put theme 'theme-face-set-string value))
570 ((eq keyword :face-reset-string) 570 ((eq keyword :face-reset-string)
571 (put theme 'theme-face-reset-string face-reset-string))))))) 571 (put theme 'theme-face-reset-string value)))))))
572 572
573(defmacro deftheme (theme &optional doc &rest args) 573(defmacro deftheme (theme &optional doc &rest args)
574 "Declare custom theme THEME. 574 "Declare custom theme THEME.
diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el
index a5b35a7d018..5a2a33575e7 100644
--- a/lisp/emacs-lisp/easymenu.el
+++ b/lisp/emacs-lisp/easymenu.el
@@ -59,8 +59,8 @@ It may be followed by the following keyword argument pairs
59 59
60 :filter FUNCTION 60 :filter FUNCTION
61 61
62FUNCTION is a function with one argument, the menu. It returns the actual 62FUNCTION is a function with one argument, the rest of menu items.
63menu displayed. 63It returns the remaining items of the displayed menu.
64 64
65 :visible INCLUDE 65 :visible INCLUDE
66 66
diff --git a/lisp/emacs-lisp/testcover-ses.el b/lisp/emacs-lisp/tcover-ses.el
index 48ec9fa64da..48ec9fa64da 100644
--- a/lisp/emacs-lisp/testcover-ses.el
+++ b/lisp/emacs-lisp/tcover-ses.el
diff --git a/lisp/emacs-lisp/testcover-unsafep.el b/lisp/emacs-lisp/tcover-unsafep.el
index 4359209b4d4..4359209b4d4 100644
--- a/lisp/emacs-lisp/testcover-unsafep.el
+++ b/lisp/emacs-lisp/tcover-unsafep.el
diff --git a/lisp/filecache.el b/lisp/filecache.el
index d315a3b1c8b..71b67af355f 100644
--- a/lisp/filecache.el
+++ b/lisp/filecache.el
@@ -212,13 +212,10 @@ Defaults to the value of `case-fold-search'."
212 :group 'file-cache 212 :group 'file-cache
213 ) 213 )
214 214
215(defcustom file-cache-assoc-function 215(defcustom file-cache-ignore-case
216 (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin)) 216 (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
217 'assoc-ignore-case 217 "Non-nil means ignore case when checking completions in the file cache.
218 'assoc) 218Defaults to nil on DOS and Windows, and t on other systems."
219 "Function to use to check completions in the file cache.
220Defaults to `assoc-ignore-case' on DOS and Windows, and `assoc' on
221other systems."
222 :type 'sexp 219 :type 'sexp
223 :group 'file-cache 220 :group 'file-cache
224 ) 221 )
@@ -301,8 +298,9 @@ in each directory, not to the directory list itself."
301 (message "File %s does not exist" file) 298 (message "File %s does not exist" file)
302 (let* ((file-name (file-name-nondirectory file)) 299 (let* ((file-name (file-name-nondirectory file))
303 (dir-name (file-name-directory file)) 300 (dir-name (file-name-directory file))
304 (the-entry (funcall file-cache-assoc-function 301 (the-entry (assoc-string
305 file-name file-cache-alist)) 302 file-name file-cache-alist
303 file-cache-ignore-case))
306 ) 304 )
307 ;; Does the entry exist already? 305 ;; Does the entry exist already?
308 (if the-entry 306 (if the-entry
@@ -402,7 +400,7 @@ or the optional REGEXP argument."
402 (interactive 400 (interactive
403 (list (completing-read "Delete file from cache: " file-cache-alist))) 401 (list (completing-read "Delete file from cache: " file-cache-alist)))
404 (setq file-cache-alist 402 (setq file-cache-alist
405 (delq (funcall file-cache-assoc-function file file-cache-alist) 403 (delq (assoc-string file file-cache-alist file-cache-ignore-case)
406 file-cache-alist))) 404 file-cache-alist)))
407 405
408(defun file-cache-delete-file-list (file-list) 406(defun file-cache-delete-file-list (file-list)
@@ -458,8 +456,9 @@ or the optional REGEXP argument."
458 456
459;; Returns the name of a directory for a file in the cache 457;; Returns the name of a directory for a file in the cache
460(defun file-cache-directory-name (file) 458(defun file-cache-directory-name (file)
461 (let* ((directory-list (cdr (funcall file-cache-assoc-function 459 (let* ((directory-list (cdr (assoc-string
462 file file-cache-alist))) 460 file file-cache-alist
461 file-cache-ignore-case)))
463 (len (length directory-list)) 462 (len (length directory-list))
464 (directory) 463 (directory)
465 (num) 464 (num)
@@ -556,7 +555,8 @@ the name is considered already unique; only the second substitution
556 ;; If we've already inserted a unique string, see if the user 555 ;; If we've already inserted a unique string, see if the user
557 ;; wants to use that one 556 ;; wants to use that one
558 (if (and (string= string completion-string) 557 (if (and (string= string completion-string)
559 (funcall file-cache-assoc-function string file-cache-alist)) 558 (assoc-string string file-cache-alist
559 file-cache-ignore-case))
560 (if (and (eq last-command this-command) 560 (if (and (eq last-command this-command)
561 (string= file-cache-last-completion completion-string)) 561 (string= file-cache-last-completion completion-string))
562 (progn 562 (progn
@@ -725,7 +725,8 @@ match REGEXP."
725 "Debugging function." 725 "Debugging function."
726 (interactive 726 (interactive
727 (list (completing-read "File Cache: " file-cache-alist))) 727 (list (completing-read "File Cache: " file-cache-alist)))
728 (message "%s" (funcall file-cache-assoc-function file file-cache-alist)) 728 (message "%s" (assoc-string file file-cache-alist
729 file-cache-ignore-case))
729 ) 730 )
730 731
731(defun file-cache-display () 732(defun file-cache-display ()
diff --git a/lisp/files.el b/lisp/files.el
index 1dc6e5454df..4983b1287e8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2552,7 +2552,8 @@ BACKUPNAME is the backup file name, which is the old file renamed."
2552 (not (file-writable-p to-name))) 2552 (not (file-writable-p to-name)))
2553 (delete-file to-name)) 2553 (delete-file to-name))
2554 (copy-file from-name to-name t t))) 2554 (copy-file from-name to-name t t)))
2555 (set-file-modes to-name (logand modes #o1777))) 2555 (and modes
2556 (set-file-modes to-name (logand modes #o1777))))
2556 2557
2557(defun file-name-sans-versions (name &optional keep-backup-version) 2558(defun file-name-sans-versions (name &optional keep-backup-version)
2558 "Return file NAME sans backup versions or strings. 2559 "Return file NAME sans backup versions or strings.
@@ -3727,8 +3728,9 @@ This command is used in the special Dired buffer created by
3727 (kill-buffer buffer)))) 3728 (kill-buffer buffer))))
3728 3729
3729(defun kill-some-buffers (&optional list) 3730(defun kill-some-buffers (&optional list)
3730 "For each buffer in LIST, ask whether to kill it. 3731 "Kill some buffers. Asks the user whether to kill each one of them.
3731LIST defaults to all existing live buffers." 3732Non-interactively, if optional argument LIST is non-`nil', it
3733specifies the list of buffers to kill, asking for approval for each one."
3732 (interactive) 3734 (interactive)
3733 (if (null list) 3735 (if (null list)
3734 (setq list (buffer-list))) 3736 (setq list (buffer-list)))
diff --git a/lisp/find-dired.el b/lisp/find-dired.el
index b1051acf7fd..9407afc3862 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -123,6 +123,10 @@ as the final argument."
123 (car find-ls-option))) 123 (car find-ls-option)))
124 ;; The next statement will bomb in classic dired (no optional arg allowed) 124 ;; The next statement will bomb in classic dired (no optional arg allowed)
125 (dired-mode dir (cdr find-ls-option)) 125 (dired-mode dir (cdr find-ls-option))
126 (let ((map (make-sparse-keymap)))
127 (set-keymap-parent map (current-local-map))
128 (define-key map "\C-c\C-k" 'kill-find)
129 (use-local-map map))
126 (make-local-variable 'dired-sort-inhibit) 130 (make-local-variable 'dired-sort-inhibit)
127 (setq dired-sort-inhibit t) 131 (setq dired-sort-inhibit t)
128 (set (make-local-variable 'revert-buffer-function) 132 (set (make-local-variable 'revert-buffer-function)
@@ -144,6 +148,7 @@ as the final argument."
144 ;; Make second line a ``find'' line in analogy to the ``total'' or 148 ;; Make second line a ``find'' line in analogy to the ``total'' or
145 ;; ``wildcard'' line. 149 ;; ``wildcard'' line.
146 (insert " " args "\n") 150 (insert " " args "\n")
151 (setq buffer-read-only t)
147 ;; Start the find process. 152 ;; Start the find process.
148 (let ((proc (start-process-shell-command find-dired-find-program (current-buffer) args))) 153 (let ((proc (start-process-shell-command find-dired-find-program (current-buffer) args)))
149 (set-process-filter proc (function find-dired-filter)) 154 (set-process-filter proc (function find-dired-filter))
@@ -152,6 +157,16 @@ as the final argument."
152 (move-marker (process-mark proc) 1 (current-buffer))) 157 (move-marker (process-mark proc) 1 (current-buffer)))
153 (setq mode-line-process '(":%s")))) 158 (setq mode-line-process '(":%s"))))
154 159
160(defun kill-find ()
161 "Kill the `find' process running in the current buffer."
162 (interactive)
163 (let ((find (get-buffer-process (current-buffer))))
164 (and find (eq (process-status find) 'run)
165 (eq (process-filter find) (function find-dired-filter))
166 (condition-case nil
167 (delete-process find)
168 (error nil)))))
169
155;;;###autoload 170;;;###autoload
156(defun find-name-dired (dir pattern) 171(defun find-name-dired (dir pattern)
157 "Search DIR recursively for files matching the globbing pattern PATTERN, 172 "Search DIR recursively for files matching the globbing pattern PATTERN,
@@ -192,7 +207,8 @@ Thus ARG can also contain additional grep options."
192 207
193(defun find-dired-filter (proc string) 208(defun find-dired-filter (proc string)
194 ;; Filter for \\[find-dired] processes. 209 ;; Filter for \\[find-dired] processes.
195 (let ((buf (process-buffer proc))) 210 (let ((buf (process-buffer proc))
211 (inhibit-read-only t))
196 (if (buffer-name buf) ; not killed? 212 (if (buffer-name buf) ; not killed?
197 (save-excursion 213 (save-excursion
198 (set-buffer buf) 214 (set-buffer buf)
@@ -229,7 +245,8 @@ Thus ARG can also contain additional grep options."
229 245
230(defun find-dired-sentinel (proc state) 246(defun find-dired-sentinel (proc state)
231 ;; Sentinel for \\[find-dired] processes. 247 ;; Sentinel for \\[find-dired] processes.
232 (let ((buf (process-buffer proc))) 248 (let ((buf (process-buffer proc))
249 (inhibit-read-only t))
233 (if (buffer-name buf) 250 (if (buffer-name buf)
234 (save-excursion 251 (save-excursion
235 (set-buffer buf) 252 (set-buffer buf)
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 1be0b724590..b76c818a517 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -1031,7 +1031,8 @@ what properties to clear before refontifying a region.")
1031 1031
1032;; Called when any modification is made to buffer text. 1032;; Called when any modification is made to buffer text.
1033(defun font-lock-after-change-function (beg end old-len) 1033(defun font-lock-after-change-function (beg end old-len)
1034 (let ((inhibit-point-motion-hooks t)) 1034 (let ((inhibit-point-motion-hooks t)
1035 (inhibit-quit t))
1035 (save-excursion 1036 (save-excursion
1036 (save-match-data 1037 (save-match-data
1037 ;; Rescan between start of lines enclosing the region. 1038 ;; Rescan between start of lines enclosing the region.
diff --git a/lisp/frame.el b/lisp/frame.el
index 1dbf8321bf3..96c9b596289 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -85,8 +85,9 @@ for pop-up frames."
85 :group 'frames) 85 :group 'frames)
86 86
87(setq pop-up-frame-function 87(setq pop-up-frame-function
88 (function (lambda () 88 ;; Using `function' here caused some sort of problem.
89 (make-frame pop-up-frame-alist)))) 89 '(lambda ()
90 (make-frame pop-up-frame-alist)))
90 91
91(defcustom special-display-frame-alist 92(defcustom special-display-frame-alist
92 '((height . 14) (width . 80) (unsplittable . t)) 93 '((height . 14) (width . 80) (unsplittable . t))
@@ -335,10 +336,22 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
335 frame-initial-geometry-arguments))) 336 frame-initial-geometry-arguments)))
336 (top (frame-parameter frame-initial-frame 'top))) 337 (top (frame-parameter frame-initial-frame 'top)))
337 (when (and (consp initial-top) (eq '- (car initial-top))) 338 (when (and (consp initial-top) (eq '- (car initial-top)))
338 (setq newparms 339 (let ((adjusted-top
339 (append newparms 340 (cond ((and (consp top)
340 `((top . ,(+ top (* lines char-height)))) 341 (eq '+ (car top)))
341 nil))) 342 (list '+
343 (+ (cadr top)
344 (* lines char-height))))
345 ((and (consp top)
346 (eq '- (car top)))
347 (list '-
348 (- (cadr top)
349 (* lines char-height))))
350 (t (+ top (* lines char-height))))))
351 (setq newparms
352 (append newparms
353 `((top . ,adjusted-top))
354 nil))))
342 (modify-frame-parameters frame-initial-frame newparms) 355 (modify-frame-parameters frame-initial-frame newparms)
343 (tool-bar-mode -1))))) 356 (tool-bar-mode -1)))))
344 357
diff --git a/lisp/generic-x.el b/lisp/generic-x.el
index fcc84a4a1d6..88703af799f 100644
--- a/lisp/generic-x.el
+++ b/lisp/generic-x.el
@@ -1868,7 +1868,38 @@ you must reload generic-x to enable the specified modes."
1868 ;;List of comment characters 1868 ;;List of comment characters
1869 (list ?#) 1869 (list ?#)
1870 ;;List of keywords 1870 ;;List of keywords
1871 (list "alias" "pre-install" "post-install" "options" "probeall") 1871 (list
1872 "above"
1873 "alias"
1874 "below"
1875 "define"
1876 "depfile"
1877 "else"
1878 "elseif"
1879 "endif"
1880 "if"
1881 "include"
1882 "insmod_opt"
1883 "install"
1884 "keep"
1885 "options"
1886 "path"
1887 "generic_stringfile"
1888 "pcimapfile"
1889 "isapnpmapfile"
1890 "usbmapfile"
1891 "parportmapfile"
1892 "ieee1394mapfile"
1893 "pnpbiosmapfile"
1894 "probe"
1895 "probeall"
1896 "prune"
1897 "post-install"
1898 "post-remove"
1899 "pre-install"
1900 "pre-remove"
1901 "remove"
1902 "persistdir")
1872 ;;List of additional font-lock-expressions 1903 ;;List of additional font-lock-expressions
1873 nil 1904 nil
1874 ;;List of additional automode-alist expressions 1905 ;;List of additional automode-alist expressions
diff --git a/lisp/generic.el b/lisp/generic.el
index 8f13dc375e7..bd6fa0608aa 100644
--- a/lisp/generic.el
+++ b/lisp/generic.el
@@ -54,7 +54,7 @@
54;; 54;;
55;; * Additional expressions to font-lock. This should be a list of 55;; * Additional expressions to font-lock. This should be a list of
56;; expressions, each of which should be of the same form 56;; expressions, each of which should be of the same form
57;; as those in `font-lock-defaults-alist'. 57;; as those in `font-lock-keywords'.
58;; 58;;
59;; * List of regular expressions to be placed in auto-mode-alist. 59;; * List of regular expressions to be placed in auto-mode-alist.
60;; 60;;
@@ -206,7 +206,7 @@ KEYWORD-LIST is a list of keywords to highlight with `font-lock-keyword-face'.
206Each keyword should be a string. 206Each keyword should be a string.
207 207
208FONT-LOCK-LIST is a list of additional expressions to highlight. Each entry 208FONT-LOCK-LIST is a list of additional expressions to highlight. Each entry
209in the list should have the same form as an entry in `font-lock-defaults-alist' 209in the list should have the same form as an entry in `font-lock-keywords'.
210 210
211AUTO-MODE-LIST is a list of regular expressions to add to `auto-mode-alist'. 211AUTO-MODE-LIST is a list of regular expressions to add to `auto-mode-alist'.
212These regexps are added to `auto-mode-alist' as soon as `define-generic-mode' 212These regexps are added to `auto-mode-alist' as soon as `define-generic-mode'
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 21f265199dd..a184567ea9c 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -321,7 +321,7 @@ If optional argument QUERY is non-nil, query for the help mode."
321 (let* ((completions (info-lookup->completions topic mode)) 321 (let* ((completions (info-lookup->completions topic mode))
322 (ignore-case (info-lookup->ignore-case topic mode)) 322 (ignore-case (info-lookup->ignore-case topic mode))
323 (entry (or (assoc (if ignore-case (downcase item) item) completions) 323 (entry (or (assoc (if ignore-case (downcase item) item) completions)
324 (assoc-ignore-case item completions) 324 (assoc-string item completions t)
325 (error "Not documented as a %s: %s" topic (or item "")))) 325 (error "Not documented as a %s: %s" topic (or item ""))))
326 (modes (info-lookup->all-modes topic mode)) 326 (modes (info-lookup->all-modes topic mode))
327 (window (selected-window)) 327 (window (selected-window))
diff --git a/lisp/info.el b/lisp/info.el
index 9616dbb1feb..3438320beb4 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -918,7 +918,7 @@ a case-insensitive match is tried."
918 (beginning-of-line) 918 (beginning-of-line)
919 (setq end (point)) 919 (setq end (point))
920 (push (list nodename other beg end) this-buffer-nodes))) 920 (push (list nodename other beg end) this-buffer-nodes)))
921 (if (assoc-ignore-case "top" this-buffer-nodes) 921 (if (assoc-string "top" this-buffer-nodes t)
922 (setq nodes (nconc this-buffer-nodes nodes)) 922 (setq nodes (nconc this-buffer-nodes nodes))
923 (setq problems t) 923 (setq problems t)
924 (message "No `top' node in %s" Info-dir-file-name))))) 924 (message "No `top' node in %s" Info-dir-file-name)))))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 5e957d6b8ab..dca8b80744e 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -1006,6 +1006,12 @@ Meaningful values for KEY include
1006 environment. 1006 environment.
1007 features value is a list of features requested in this 1007 features value is a list of features requested in this
1008 language environment. 1008 language environment.
1009 ctext-non-standard-encodings
1010 value is a list of non-standard encoding
1011 names used in extended segments of CTEXT.
1012 See the variable
1013 `ctext-non-standard-encodings' for more
1014 detail.
1009 1015
1010The following keys take effect only when multibyte characters are 1016The following keys take effect only when multibyte characters are
1011globally disabled, i.e. the value of `default-enable-multibyte-characters' 1017globally disabled, i.e. the value of `default-enable-multibyte-characters'
@@ -1685,7 +1691,12 @@ The default status is as follows:
1685 ;; (set-keyboard-coding-system-internal nil) 1691 ;; (set-keyboard-coding-system-internal nil)
1686 1692
1687 (setq nonascii-translation-table nil 1693 (setq nonascii-translation-table nil
1688 nonascii-insert-offset 0)) 1694 nonascii-insert-offset 0)
1695
1696 ;; Don't invoke fontset-related functions if fontsets aren't
1697 ;; supported in this build of Emacs.
1698 (and (fboundp 'fontset-list)
1699 (set-overriding-fontspec-internal nil)))
1689 1700
1690(reset-language-environment) 1701(reset-language-environment)
1691 1702
@@ -1791,6 +1802,15 @@ specifies the character set for the major languages of Western Europe."
1791 (while required-features 1802 (while required-features
1792 (require (car required-features)) 1803 (require (car required-features))
1793 (setq required-features (cdr required-features)))) 1804 (setq required-features (cdr required-features))))
1805
1806 ;; Don't invoke fontset-related functions if fontsets aren't
1807 ;; supported in this build of Emacs.
1808 (when (fboundp 'fontset-list)
1809 (let ((overriding-fontspec (get-language-info language-name
1810 'overriding-fontspec)))
1811 (if overriding-fontspec
1812 (set-overriding-fontspec-internal overriding-fontspec))))
1813
1794 (let ((func (get-language-info language-name 'setup-function))) 1814 (let ((func (get-language-info language-name 'setup-function)))
1795 (if (functionp func) 1815 (if (functionp func)
1796 (funcall func))) 1816 (funcall func)))
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el
index 19ff671834b..60ebf52fe35 100644
--- a/lisp/language/cyrillic.el
+++ b/lisp/language/cyrillic.el
@@ -204,6 +204,9 @@ This works whether or not the table is Unicode-based or
204;; The table is set up later to encode both Unicode and 8859-5. 204;; The table is set up later to encode both Unicode and 8859-5.
205(define-ccl-program ccl-encode-koi8-font 205(define-ccl-program ccl-encode-koi8-font
206 `(0 206 `(0
207 (if (r2 >= 0)
208 ((r1 <<= 7)
209 (r1 += r2)))
207 (translate-character cyrillic-koi8-r-encode-table r0 r1)) 210 (translate-character cyrillic-koi8-r-encode-table r0 r1))
208 "CCL program to encode Cyrillic chars to KOI font.") 211 "CCL program to encode Cyrillic chars to KOI font.")
209 212
@@ -472,10 +475,25 @@ Support for Russian using koi8-r and the russian-computer input method.")
472 (setcdr slot (cdr elt)) 475 (setcdr slot (cdr elt))
473 (push elt ctext-non-standard-encodings-alist))) 476 (push elt ctext-non-standard-encodings-alist)))
474 477
478(define-ccl-program ccl-encode-windows-1251-font
479 '(0
480 ((r1 <<= 7)
481 (r1 += r2)
482 (translate-character encode-windows-1251 r0 r1)
483 )))
484
485(add-to-list 'font-ccl-encoder-alist
486 '("microsoft-cp1251" . ccl-encode-windows-1251-font))
487
475(set-language-info-alist 488(set-language-info-alist
476 "Bulgarian" `((coding-system windows-1251) 489 "Bulgarian" `((coding-system windows-1251)
477 (coding-priority windows-1251) 490 (coding-priority windows-1251)
478 (ctext-non-standard-encodings "microsoft-cp1251") 491 (ctext-non-standard-encodings "microsoft-cp1251")
492 (overriding-fontspec
493 (,(get 'encode-windows-1251 'translation-table)
494 . (nil . "microsoft-cp1251"))
495 (,(get 'cyrillic-koi8-r-encode-table 'translation-table)
496 . (nil . "koi8-r")))
479 (nonascii-translation 497 (nonascii-translation
480 . ,(get 'decode-windows-1251 'translation-table)) 498 . ,(get 'decode-windows-1251 'translation-table))
481 (input-method . "bulgarian-bds") 499 (input-method . "bulgarian-bds")
@@ -488,6 +506,11 @@ Support for Russian using koi8-r and the russian-computer input method.")
488 "Belarusian" `((coding-system windows-1251) 506 "Belarusian" `((coding-system windows-1251)
489 (coding-priority windows-1251) 507 (coding-priority windows-1251)
490 (ctext-non-standard-encodings "microsoft-cp1251") 508 (ctext-non-standard-encodings "microsoft-cp1251")
509 (overriding-fontspec
510 (,(get 'encode-windows-1251 'translation-table)
511 . (nil . "microsoft-cp1251"))
512 (,(get 'cyrillic-koi8-r-encode-table 'translation-table)
513 . (nil . "koi8-r")))
491 (nonascii-translation 514 (nonascii-translation
492 . ,(get 'decode-windows-1251 'translation-table)) 515 . ,(get 'decode-windows-1251 'translation-table))
493 (input-method . "belarusian") 516 (input-method . "belarusian")
diff --git a/lisp/mail/rfc822.el b/lisp/mail/rfc822.el
index 9b3d5c18d4c..1a5dfad67f8 100644
--- a/lisp/mail/rfc822.el
+++ b/lisp/mail/rfc822.el
@@ -30,11 +30,13 @@
30 30
31;;; Code: 31;;; Code:
32 32
33;; uses address-start free, throws to address 33(defvar rfc822-address-start)
34
35;; uses rfc822-address-start free, throws to address
34(defun rfc822-bad-address (reason) 36(defun rfc822-bad-address (reason)
35 (save-restriction 37 (save-restriction
36 (insert "_^_") 38 (insert "_^_")
37 (narrow-to-region address-start 39 (narrow-to-region rfc822-address-start
38 (if (re-search-forward "[,;]" nil t) 40 (if (re-search-forward "[,;]" nil t)
39 (max (point-min) (1- (point))) 41 (max (point-min) (1- (point)))
40 (point-max))) 42 (point-max)))
@@ -52,7 +54,7 @@
52 ": \"") 54 ": \"")
53 (goto-char (point-max)) (insert "\")")) 55 (goto-char (point-max)) (insert "\")"))
54 (rfc822-nuke-whitespace) 56 (rfc822-nuke-whitespace)
55 (throw 'address (buffer-substring address-start (point)))) 57 (throw 'address (buffer-substring rfc822-address-start (point))))
56 58
57(defun rfc822-nuke-whitespace (&optional leave-space) 59(defun rfc822-nuke-whitespace (&optional leave-space)
58 (let (ch) 60 (let (ch)
@@ -179,7 +181,7 @@
179 ;; domain-literal is "[" *(dtext | quoted-pair) "]" 181 ;; domain-literal is "[" *(dtext | quoted-pair) "]"
180 ;; dtext is "[^][\\n" 182 ;; dtext is "[^][\\n"
181 ;; domain-ref is atom 183 ;; domain-ref is atom
182 (let ((address-start (point)) 184 (let ((rfc822-address-start (point))
183 (n 0)) 185 (n 0))
184 (catch 'address 186 (catch 'address
185 ;; optimize common cases: 187 ;; optimize common cases:
@@ -198,14 +200,14 @@
198 (or (bobp) (/= (preceding-char) ?\ ) (delete-char -1)) 200 (or (bobp) (/= (preceding-char) ?\ ) (delete-char -1))
199 ;; relying on the fact that rfc822-looking-at <char> 201 ;; relying on the fact that rfc822-looking-at <char>
200 ;; doesn't mung match-data 202 ;; doesn't mung match-data
201 (throw 'address (buffer-substring address-start (match-end 0))))) 203 (throw 'address (buffer-substring rfc822-address-start (match-end 0)))))
202 (goto-char address-start) 204 (goto-char rfc822-address-start)
203 (while t 205 (while t
204 (cond ((and (= n 1) (rfc822-looking-at ?@)) 206 (cond ((and (= n 1) (rfc822-looking-at ?@))
205 ;; local-part@domain 207 ;; local-part@domain
206 (rfc822-snarf-domain) 208 (rfc822-snarf-domain)
207 (throw 'address 209 (throw 'address
208 (buffer-substring address-start (point)))) 210 (buffer-substring rfc822-address-start (point))))
209 ((rfc822-looking-at ?:) 211 ((rfc822-looking-at ?:)
210 (cond ((not allow-groups) 212 (cond ((not allow-groups)
211 (rfc822-bad-address "A group name may not appear here")) 213 (rfc822-bad-address "A group name may not appear here"))
@@ -261,7 +263,7 @@
261 (throw 'address nil)) 263 (throw 'address nil))
262 ((= n 1) ; allow "foo" (losing unix seems to do this) 264 ((= n 1) ; allow "foo" (losing unix seems to do this)
263 (throw 'address 265 (throw 'address
264 (buffer-substring address-start (point)))) 266 (buffer-substring rfc822-address-start (point))))
265 ((> n 1) 267 ((> n 1)
266 (rfc822-bad-address "Missing comma between addresses or badly-formatted address")) 268 (rfc822-bad-address "Missing comma between addresses or badly-formatted address"))
267 ((or (eobp) (= (following-char) ?,)) 269 ((or (eobp) (= (following-char) ?,))
@@ -289,12 +291,12 @@
289 (replace-match "\\1 " t)) 291 (replace-match "\\1 " t))
290 292
291 (goto-char (point-min)) 293 (goto-char (point-min))
292 (rfc822-nuke-whitespace)
293 (let ((list ()) 294 (let ((list ())
294 tem 295 tem
295 address-start); this is for rfc822-bad-address 296 rfc822-address-start); this is for rfc822-bad-address
297 (rfc822-nuke-whitespace)
296 (while (not (eobp)) 298 (while (not (eobp))
297 (setq address-start (point)) 299 (setq rfc822-address-start (point))
298 (setq tem 300 (setq tem
299 (catch 'address ; this is for rfc822-bad-address 301 (catch 'address ; this is for rfc822-bad-address
300 (cond ((rfc822-looking-at ?\,) 302 (cond ((rfc822-looking-at ?\,)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index acc7e4839dd..6185fd12286 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1687,19 +1687,22 @@ It returns t if it got any new messages."
1687 (delete-region (point) (search-backward ":")) 1687 (delete-region (point) (search-backward ":"))
1688 (insert ": 8bit"))) 1688 (insert ": 8bit")))
1689 (if base64-header-field-end 1689 (if base64-header-field-end
1690 (condition-case nil 1690 (save-excursion
1691 (save-excursion 1691 (when
1692 (base64-decode-region (1+ header-end) 1692 (condition-case nil
1693 (- (point) 2)) 1693 (progn
1694 ;; Change "base64" to "8bit", to reflect the 1694 (base64-decode-region (1+ header-end)
1695 ;; decoding we just did. 1695 (- (point) 2))
1696 (goto-char (1+ header-end)) 1696 t)
1697 (while (search-forward "\r\n" (point-max) t) 1697 (error nil))
1698 (replace-match "\n")) 1698 ;; Change "base64" to "8bit", to reflect the
1699 (goto-char base64-header-field-end) 1699 ;; decoding we just did.
1700 (delete-region (point) (search-backward ":")) 1700 (goto-char (1+ header-end))
1701 (insert ": 8bit")) 1701 (while (search-forward "\r\n" (point-max) t)
1702 (error nil))) 1702 (replace-match "\n"))
1703 (goto-char base64-header-field-end)
1704 (delete-region (point) (search-backward ":"))
1705 (insert ": 8bit"))))
1703 (setq last-coding-system-used nil) 1706 (setq last-coding-system-used nil)
1704 (or rmail-enable-mime 1707 (or rmail-enable-mime
1705 (not rmail-enable-multibyte) 1708 (not rmail-enable-multibyte)
@@ -1829,15 +1832,21 @@ It returns t if it got any new messages."
1829 (delete-region (point) (search-backward ":")) 1832 (delete-region (point) (search-backward ":"))
1830 (insert ": 8bit"))) 1833 (insert ": 8bit")))
1831 (if base64-header-field-end 1834 (if base64-header-field-end
1832 (condition-case nil 1835 (save-excursion
1833 (save-excursion 1836 (when
1834 (base64-decode-region header-end (point)) 1837 (condition-case nil
1835 ;; Change "base64" to "8bit", to reflect the 1838 (progn
1836 ;; decoding we just did. 1839 (base64-decode-region (1+ header-end) (point))
1837 (goto-char base64-header-field-end) 1840 t)
1838 (delete-region (point) (search-backward ":")) 1841 (error nil))
1839 (insert ": 8bit")) 1842 (goto-char header-end)
1840 (error nil)))) 1843 (while (search-forward "\r\n" (point-max) t)
1844 (replace-match "\n"))
1845 ;; Change "base64" to "8bit", to reflect the
1846 ;; decoding we just did.
1847 (goto-char base64-header-field-end)
1848 (delete-region (point) (search-backward ":"))
1849 (insert ": 8bit")))))
1841 1850
1842 (save-excursion 1851 (save-excursion
1843 (save-restriction 1852 (save-restriction
diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el
index b96e7f1a298..0277bd0aabc 100644
--- a/lisp/net/ange-ftp.el
+++ b/lisp/net/ange-ftp.el
@@ -686,7 +686,7 @@
686 :prefix "ange-ftp-") 686 :prefix "ange-ftp-")
687 687
688(defcustom ange-ftp-name-format 688(defcustom ange-ftp-name-format
689 '("^/\\(\\([^@/:]*\\)@\\)?\\([^@/:]*[^@/:.]\\):\\(.*\\)" . (3 2 4)) 689 '("^/\\(\\([^/:]*\\)@\\)?\\([^@/:]*[^@/:.]\\):\\(.*\\)" . (3 2 4))
690 "*Format of a fully expanded remote file name. 690 "*Format of a fully expanded remote file name.
691 691
692This is a list of the form \(REGEXP HOST USER NAME\), 692This is a list of the form \(REGEXP HOST USER NAME\),
@@ -694,7 +694,7 @@ where REGEXP is a regular expression matching
694the full remote name, and HOST, USER, and NAME are the numbers of 694the full remote name, and HOST, USER, and NAME are the numbers of
695parenthesized expressions in REGEXP for the components (in that order)." 695parenthesized expressions in REGEXP for the components (in that order)."
696 :group 'ange-ftp 696 :group 'ange-ftp
697 :type '(list regexp 697 :type '(list (regexp :tag "Name regexp")
698 (integer :tag "Host group") 698 (integer :tag "Host group")
699 (integer :tag "User group") 699 (integer :tag "User group")
700 (integer :tag "Name group"))) 700 (integer :tag "Name group")))
@@ -1918,7 +1918,8 @@ on the gateway machine to do the ftp instead."
1918 ;; but that doesn't work: ftp never responds. 1918 ;; but that doesn't work: ftp never responds.
1919 ;; Can anyone find a fix for that? 1919 ;; Can anyone find a fix for that?
1920 (let ((process-connection-type t) 1920 (let ((process-connection-type t)
1921 (process-environment process-environment) 1921 ;; Copy this so we don't alter it permanently.
1922 (process-environment (copy-tree process-environment))
1922 (buffer (get-buffer-create name))) 1923 (buffer (get-buffer-create name)))
1923 (save-excursion 1924 (save-excursion
1924 (set-buffer buffer) 1925 (set-buffer buffer)
diff --git a/lisp/net/zone-mode.el b/lisp/net/zone-mode.el
index 591deee3144..6b4d22f9b13 100644
--- a/lisp/net/zone-mode.el
+++ b/lisp/net/zone-mode.el
@@ -92,7 +92,7 @@ Zone-mode does two things:
92 92
93 - fontification" 93 - fontification"
94 94
95 (add-hook 'write-file-hooks 'zone-mode-update-serial-hook nil t) 95 (add-hook 'write-file-functions 'zone-mode-update-serial-hook nil t)
96 96
97 (if (null zone-mode-syntax-table) 97 (if (null zone-mode-syntax-table)
98 (zone-mode-load-time-setup)) ;; should have been run at load-time 98 (zone-mode-load-time-setup)) ;; should have been run at load-time
diff --git a/lisp/obsolete/sc.el b/lisp/obsolete/sc.el
index e9798a0a253..26486577aa4 100644
--- a/lisp/obsolete/sc.el
+++ b/lisp/obsolete/sc.el
@@ -11,5 +11,7 @@
11(require 'supercite) 11(require 'supercite)
12(provide 'sc) 12(provide 'sc)
13 13
14(message "The name `sc' works but is obsolete; please use `supercite' instead")
15
14;;; arch-tag: 31e8ae19-689e-4b7d-9161-6d7dd60c6ece 16;;; arch-tag: 31e8ae19-689e-4b7d-9161-6d7dd60c6ece
15;;; sc.el ends here 17;;; sc.el ends here
diff --git a/lisp/play/handwrite.el b/lisp/play/handwrite.el
index 5c6aa8f3abf..11499444920 100644
--- a/lisp/play/handwrite.el
+++ b/lisp/play/handwrite.el
@@ -159,8 +159,7 @@ Variables: handwrite-linespace (default 12)
159 (setq next-line-add-newlines t) 159 (setq next-line-add-newlines t)
160 (switch-to-buffer ps-buf-name) 160 (switch-to-buffer ps-buf-name)
161 (handwrite-insert-header buf-name) 161 (handwrite-insert-header buf-name)
162 (insert "\n(\\nCreated by GNU Emacs' handwrite version " 162 (insert "%%Creator: GNU Emacs' handwrite version " emacs-version "\n")
163 emacs-version "\\n\\n)=print flush\n")
164 (handwrite-insert-preamble) 163 (handwrite-insert-preamble)
165 (handwrite-insert-info) 164 (handwrite-insert-info)
166 (handwrite-insert-font) 165 (handwrite-insert-font)
diff --git a/lisp/progmodes/antlr-mode.el b/lisp/progmodes/antlr-mode.el
index f3a540fc491..b7bf99efa2e 100644
--- a/lisp/progmodes/antlr-mode.el
+++ b/lisp/progmodes/antlr-mode.el
@@ -161,7 +161,7 @@
161;; More compile-time-macros 161;; More compile-time-macros
162(eval-when-compile 162(eval-when-compile
163 (defmacro save-buffer-state-x (&rest body) ; similar to EMACS/lazy-lock.el 163 (defmacro save-buffer-state-x (&rest body) ; similar to EMACS/lazy-lock.el
164 (let ((modified (gensym "save-buffer-state-x-modified-"))) 164 (let ((modified (with-no-warnings (gensym "save-buffer-state-x-modified-"))))
165 `(let ((,modified (buffer-modified-p))) 165 `(let ((,modified (buffer-modified-p)))
166 (unwind-protect 166 (unwind-protect
167 (let ((buffer-undo-list t) (inhibit-read-only t) 167 (let ((buffer-undo-list t) (inhibit-read-only t)
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 48a007aef27..76e00cc4438 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -162,11 +162,14 @@ Used to grey out relevant toolbar icons.")
162 (gud-run . "gud-run") 162 (gud-run . "gud-run")
163 (gud-until . "gud-until") 163 (gud-until . "gud-until")
164 (gud-cont . "gud-cont") 164 (gud-cont . "gud-cont")
165 (gud-step . "gud-step") 165 ;; gud-s, gud-si etc. instead of gud-step,
166 (gud-next . "gud-next") 166 ;; gud-stepi, to avoid file-name clashes on DOS
167 ;; 8+3 filesystems.
168 (gud-step . "gud-s")
169 (gud-next . "gud-n")
167 (gud-finish . "gud-finish") 170 (gud-finish . "gud-finish")
168 (gud-stepi . "gud-stepi") 171 (gud-stepi . "gud-si")
169 (gud-nexti . "gud-nexti") 172 (gud-nexti . "gud-ni")
170 (gud-up . "gud-up") 173 (gud-up . "gud-up")
171 (gud-down . "gud-down")) 174 (gud-down . "gud-down"))
172 map) 175 map)
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index e63dda1c663..a23dc0a307e 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -2052,7 +2052,8 @@ STRING This is ignored for the purposes of calculating
2052 (progn 2052 (progn
2053 (setq result (append result val)) 2053 (setq result (append result val))
2054 (setq align-point (point)))) 2054 (setq align-point (point))))
2055 (forward-char -1) 2055 (or (bobp)
2056 (forward-char -1))
2056 (skip-chars-forward "[a-z0-9]*?") 2057 (skip-chars-forward "[a-z0-9]*?")
2057 ) 2058 )
2058 ((string-match "[])}]" x) 2059 ((string-match "[])}]" x)
diff --git a/lisp/register.el b/lisp/register.el
index 8185ae4bc44..0ba6a9addd6 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -304,8 +304,10 @@ START and END are buffer positions indicating what to prepend."
304 304
305(defun copy-rectangle-to-register (register start end &optional delete-flag) 305(defun copy-rectangle-to-register (register start end &optional delete-flag)
306 "Copy rectangular region into register REGISTER. 306 "Copy rectangular region into register REGISTER.
307With prefix arg, delete as well. 307With prefix arg, delete as well. To insert this register
308Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. 308in the buffer, use \\[insert-register].
309
310Called from a program, takes four args: REGISTER, START, END and DELETE-FLAG.
309START and END are buffer positions giving two corners of rectangle." 311START and END are buffer positions giving two corners of rectangle."
310 (interactive "cCopy rectangle to register: \nr\nP") 312 (interactive "cCopy rectangle to register: \nr\nP")
311 (set-register register 313 (set-register register
diff --git a/lisp/shell.el b/lisp/shell.el
index cc83dcf1429..1817a1fd3b4 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -167,7 +167,7 @@ This is a fine thing to set in your `.emacs' file.")
167(defvar shell-file-name-chars 167(defvar shell-file-name-chars
168 (if (memq system-type '(ms-dos windows-nt cygwin)) 168 (if (memq system-type '(ms-dos windows-nt cygwin))
169 "~/A-Za-z0-9_^$!#%&{}@`'.,:()-" 169 "~/A-Za-z0-9_^$!#%&{}@`'.,:()-"
170 "~/A-Za-z0-9+@:_.$#%,={}-") 170 "[]~/A-Za-z0-9+@:_.$#%,={}-")
171 "String of characters valid in a file name. 171 "String of characters valid in a file name.
172This variable is used to initialize `comint-file-name-chars' in the 172This variable is used to initialize `comint-file-name-chars' in the
173shell buffer. The value may depend on the operating system or shell. 173shell buffer. The value may depend on the operating system or shell.
@@ -941,36 +941,37 @@ Returns t if successful."
941 "Dynamically complete at point as a command. 941 "Dynamically complete at point as a command.
942See `shell-dynamic-complete-filename'. Returns t if successful." 942See `shell-dynamic-complete-filename'. Returns t if successful."
943 (let* ((filename (or (comint-match-partial-filename) "")) 943 (let* ((filename (or (comint-match-partial-filename) ""))
944 (pathnondir (file-name-nondirectory filename)) 944 (filenondir (file-name-nondirectory filename))
945 (paths (cdr (reverse exec-path))) 945 (path-dirs (cdr (reverse exec-path)))
946 (cwd (file-name-as-directory (expand-file-name default-directory))) 946 (cwd (file-name-as-directory (expand-file-name default-directory)))
947 (ignored-extensions 947 (ignored-extensions
948 (and comint-completion-fignore 948 (and comint-completion-fignore
949 (mapconcat (function (lambda (x) (concat (regexp-quote x) "$"))) 949 (mapconcat (function (lambda (x) (concat (regexp-quote x) "$")))
950 comint-completion-fignore "\\|"))) 950 comint-completion-fignore "\\|")))
951 (path "") (comps-in-path ()) (file "") (filepath "") (completions ())) 951 (dir "") (comps-in-dir ())
952 ;; Go thru each path in the search path, finding completions. 952 (file "") (abs-file-name "") (completions ()))
953 (while paths 953 ;; Go thru each dir in the search path, finding completions.
954 (setq path (file-name-as-directory (comint-directory (or (car paths) "."))) 954 (while path-dirs
955 comps-in-path (and (file-accessible-directory-p path) 955 (setq dir (file-name-as-directory (comint-directory (or (car path-dirs) ".")))
956 (file-name-all-completions pathnondir path))) 956 comps-in-dir (and (file-accessible-directory-p dir)
957 (file-name-all-completions filenondir dir)))
957 ;; Go thru each completion found, to see whether it should be used. 958 ;; Go thru each completion found, to see whether it should be used.
958 (while comps-in-path 959 (while comps-in-dir
959 (setq file (car comps-in-path) 960 (setq file (car comps-in-dir)
960 filepath (concat path file)) 961 abs-file-name (concat dir file))
961 (if (and (not (member file completions)) 962 (if (and (not (member file completions))
962 (not (and ignored-extensions 963 (not (and ignored-extensions
963 (string-match ignored-extensions file))) 964 (string-match ignored-extensions file)))
964 (or (string-equal path cwd) 965 (or (string-equal dir cwd)
965 (not (file-directory-p filepath))) 966 (not (file-directory-p abs-file-name)))
966 (or (null shell-completion-execonly) 967 (or (null shell-completion-execonly)
967 (file-executable-p filepath))) 968 (file-executable-p abs-file-name)))
968 (setq completions (cons file completions))) 969 (setq completions (cons file completions)))
969 (setq comps-in-path (cdr comps-in-path))) 970 (setq comps-in-dir (cdr comps-in-dir)))
970 (setq paths (cdr paths))) 971 (setq path-dirs (cdr path-dirs)))
971 ;; OK, we've got a list of completions. 972 ;; OK, we've got a list of completions.
972 (let ((success (let ((comint-completion-addsuffix nil)) 973 (let ((success (let ((comint-completion-addsuffix nil))
973 (comint-dynamic-simple-complete pathnondir completions)))) 974 (comint-dynamic-simple-complete filenondir completions))))
974 (if (and (memq success '(sole shortest)) comint-completion-addsuffix 975 (if (and (memq success '(sole shortest)) comint-completion-addsuffix
975 (not (file-directory-p (comint-match-partial-filename)))) 976 (not (file-directory-p (comint-match-partial-filename))))
976 (insert " ")) 977 (insert " "))
diff --git a/lisp/simple.el b/lisp/simple.el
index ade177c5b8e..d23ed11c6c3 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3735,9 +3735,9 @@ See also `read-mail-command' concerning reading mail."
3735 (same-window-buffer-names nil) 3735 (same-window-buffer-names nil)
3736 (same-window-regexps nil)) 3736 (same-window-regexps nil))
3737 (funcall switch-function "*mail*"))) 3737 (funcall switch-function "*mail*")))
3738 (let ((cc (cdr (assoc-ignore-case "cc" other-headers))) 3738 (let ((cc (cdr (assoc-string "cc" other-headers t)))
3739 (in-reply-to (cdr (assoc-ignore-case "in-reply-to" other-headers))) 3739 (in-reply-to (cdr (assoc-string "in-reply-to" other-headers t)))
3740 (body (cdr (assoc-ignore-case "body" other-headers)))) 3740 (body (cdr (assoc-string "body" other-headers t))))
3741 (or (mail continue to subject in-reply-to cc yank-action send-actions) 3741 (or (mail continue to subject in-reply-to cc yank-action send-actions)
3742 continue 3742 continue
3743 (error "Message aborted")) 3743 (error "Message aborted"))
diff --git a/lisp/subr.el b/lisp/subr.el
index 2996f2903e0..a2b09d6b63b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -298,27 +298,19 @@ If TEST is omitted or nil, `equal' is used."
298 (setq tail (cdr tail))) 298 (setq tail (cdr tail)))
299 value)) 299 value))
300 300
301(make-obsolete 'assoc-ignore-case 'assoc-string)
301(defun assoc-ignore-case (key alist) 302(defun assoc-ignore-case (key alist)
302 "Like `assoc', but ignores differences in case and text representation. 303 "Like `assoc', but ignores differences in case and text representation.
303KEY must be a string. Upper-case and lower-case letters are treated as equal. 304KEY must be a string. Upper-case and lower-case letters are treated as equal.
304Unibyte strings are converted to multibyte for comparison." 305Unibyte strings are converted to multibyte for comparison."
305 (let (element) 306 (assoc-string key alist t))
306 (while (and alist (not element))
307 (if (eq t (compare-strings key 0 nil (car (car alist)) 0 nil t))
308 (setq element (car alist)))
309 (setq alist (cdr alist)))
310 element))
311 307
308(make-obsolete 'assoc-ignore-representation 'assoc-string)
312(defun assoc-ignore-representation (key alist) 309(defun assoc-ignore-representation (key alist)
313 "Like `assoc', but ignores differences in text representation. 310 "Like `assoc', but ignores differences in text representation.
314KEY must be a string. 311KEY must be a string.
315Unibyte strings are converted to multibyte for comparison." 312Unibyte strings are converted to multibyte for comparison."
316 (let (element) 313 (assoc-string key alist nil))
317 (while (and alist (not element))
318 (if (eq t (compare-strings key 0 nil (car (car alist)) 0 nil))
319 (setq element (car alist)))
320 (setq alist (cdr alist)))
321 element))
322 314
323(defun member-ignore-case (elt list) 315(defun member-ignore-case (elt list)
324 "Like `member', but ignores differences in case and text representation. 316 "Like `member', but ignores differences in case and text representation.
@@ -1563,7 +1555,18 @@ Replaces `category' properties with their defined properties."
1563(defvar yank-undo-function) 1555(defvar yank-undo-function)
1564 1556
1565(defun insert-for-yank (string) 1557(defun insert-for-yank (string)
1558 "Calls `insert-for-yank-1' repetitively for each `yank-handler' segment.
1559
1560See `insert-for-yank-1' for more details."
1561 (let (to)
1562 (while (setq to (next-single-property-change 0 'yank-handler string))
1563 (insert-for-yank-1 (substring string 0 to))
1564 (setq string (substring string to))))
1565 (insert-for-yank-1 string))
1566
1567(defun insert-for-yank-1 (string)
1566 "Insert STRING at point, stripping some text properties. 1568 "Insert STRING at point, stripping some text properties.
1569
1567Strip text properties from the inserted text according to 1570Strip text properties from the inserted text according to
1568`yank-excluded-properties'. Otherwise just like (insert STRING). 1571`yank-excluded-properties'. Otherwise just like (insert STRING).
1569 1572
@@ -1809,6 +1812,7 @@ in BODY."
1809(defvar delayed-mode-hooks nil 1812(defvar delayed-mode-hooks nil
1810 "List of delayed mode hooks waiting to be run.") 1813 "List of delayed mode hooks waiting to be run.")
1811(make-variable-buffer-local 'delayed-mode-hooks) 1814(make-variable-buffer-local 'delayed-mode-hooks)
1815(put 'delay-mode-hooks 'permanent-local t)
1812 1816
1813(defun run-mode-hooks (&rest hooks) 1817(defun run-mode-hooks (&rest hooks)
1814 "Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS. 1818 "Run mode hooks `delayed-mode-hooks' and HOOKS, or delay HOOKS.
diff --git a/lisp/term.el b/lisp/term.el
index d2088a29785..b329004c083 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -1290,6 +1290,7 @@ buffer. The hook term-exec-hook is run after each exec."
1290 (goto-char (point-max)) 1290 (goto-char (point-max))
1291 (set-marker (process-mark proc) (point)) 1291 (set-marker (process-mark proc) (point))
1292 (set-process-filter proc 'term-emulate-terminal) 1292 (set-process-filter proc 'term-emulate-terminal)
1293 (set-process-sentinel proc 'term-sentinel)
1293 ;; Feed it the startfile. 1294 ;; Feed it the startfile.
1294 (cond (startfile 1295 (cond (startfile
1295 ;;This is guaranteed to wait long enough 1296 ;;This is guaranteed to wait long enough
@@ -1306,6 +1307,49 @@ buffer. The hook term-exec-hook is run after each exec."
1306 (run-hooks 'term-exec-hook) 1307 (run-hooks 'term-exec-hook)
1307 buffer))) 1308 buffer)))
1308 1309
1310(defun term-sentinel (proc msg)
1311 "Sentinel for term buffers.
1312The main purpose is to get rid of the local keymap."
1313 (let ((buffer (process-buffer proc)))
1314 (if (memq (process-status proc) '(signal exit))
1315 (progn
1316 (if (null (buffer-name buffer))
1317 ;; buffer killed
1318 (set-process-buffer proc nil)
1319 (let ((obuf (current-buffer)))
1320 ;; save-excursion isn't the right thing if
1321 ;; process-buffer is current-buffer
1322 (unwind-protect
1323 (progn
1324 ;; Write something in the compilation buffer
1325 ;; and hack its mode line.
1326 (set-buffer buffer)
1327 ;; Get rid of local keymap.
1328 (use-local-map nil)
1329 (term-handle-exit (process-name proc)
1330 msg)
1331 ;; Since the buffer and mode line will show that the
1332 ;; process is dead, we can delete it now. Otherwise it
1333 ;; will stay around until M-x list-processes.
1334 (delete-process proc))
1335 (set-buffer obuf))))
1336 ))))
1337
1338(defun term-handle-exit (process-name msg)
1339 "Write process exit (or other change) message MSG in the current buffer."
1340 (let ((buffer-read-only nil)
1341 (omax (point-max))
1342 (opoint (point)))
1343 ;; Record where we put the message, so we can ignore it
1344 ;; later on.
1345 (goto-char omax)
1346 (insert ?\n "Process " process-name " " msg)
1347 ;; Force mode line redisplay soon.
1348 (force-mode-line-update)
1349 (if (and opoint (< opoint omax))
1350 (goto-char opoint))))
1351
1352
1309;;; Name to use for TERM. 1353;;; Name to use for TERM.
1310;;; Using "emacs" loses, because bash disables editing if TERM == emacs. 1354;;; Using "emacs" loses, because bash disables editing if TERM == emacs.
1311(defvar term-term-name "eterm") 1355(defvar term-term-name "eterm")
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index dc4f521c018..e71eb440c12 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -267,7 +267,9 @@ property of the major mode name.")
267(defun mail-mode-flyspell-verify () 267(defun mail-mode-flyspell-verify ()
268 "This function is used for `flyspell-generic-check-word-p' in Mail mode." 268 "This function is used for `flyspell-generic-check-word-p' in Mail mode."
269 (let ((in-headers (save-excursion 269 (let ((in-headers (save-excursion
270 (re-search-forward mail-header-separator nil t))) 270 ;; When mail-header-separator is "",
271 ;; it is likely to be found in both directions.
272 (not (re-search-backward (concat "^" (regexp-quote mail-header-separator) "$") nil t))))
271 (in-signature (save-excursion 273 (in-signature (save-excursion
272 (re-search-backward message-signature-separator nil t)))) 274 (re-search-backward message-signature-separator nil t))))
273 (cond (in-headers 275 (cond (in-headers
@@ -1628,7 +1630,7 @@ misspelled words backwards."
1628(defun flyspell-abbrev-table () 1630(defun flyspell-abbrev-table ()
1629 (if flyspell-use-global-abbrev-table-p 1631 (if flyspell-use-global-abbrev-table-p
1630 global-abbrev-table 1632 global-abbrev-table
1631 local-abbrev-table)) 1633 (or local-abbrev-table global-abbrev-table)))
1632 1634
1633;*---------------------------------------------------------------------*/ 1635;*---------------------------------------------------------------------*/
1634;* flyspell-define-abbrev ... */ 1636;* flyspell-define-abbrev ... */
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index 44e82efc5b7..93ea3cc0c14 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -5,7 +5,7 @@
5;; Keywords: wp, convenience 5;; Keywords: wp, convenience
6;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com> 6;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com>
7;; Created: Sat Jul 08 2000 13:28:45 (PST) 7;; Created: Sat Jul 08 2000 13:28:45 (PST)
8;; Revised: jue jun 05 2003 22:00:02 (Hora de verano romance) 8;; Revised: Tue Dec 09 2003 14:36:50 (PST)
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
@@ -837,6 +837,9 @@ simply by any key input."
837 :type 'hook 837 :type 'hook
838 :group 'table-hooks) 838 :group 'table-hooks)
839 839
840(defcustom table-yank-handler '(nil nil t nil)
841 "*yank-handler for table.")
842
840(setplist 'table-disable-incompatibility-warning nil) 843(setplist 'table-disable-incompatibility-warning nil)
841 844
842(defvar table-disable-menu (null (and (locate-library "easymenu") 845(defvar table-disable-menu (null (and (locate-library "easymenu")
@@ -5228,7 +5231,8 @@ and the right cell border character."
5228 5231
5229(defun table--put-cell-indicator-property (beg end &optional object) 5232(defun table--put-cell-indicator-property (beg end &optional object)
5230 "Put cell property which indicates that the location is within a table cell." 5233 "Put cell property which indicates that the location is within a table cell."
5231 (put-text-property beg end 'table-cell t object)) 5234 (put-text-property beg end 'table-cell t object)
5235 (put-text-property beg end 'yank-handler table-yank-handler object))
5232 5236
5233(defun table--put-cell-face-property (beg end &optional object) 5237(defun table--put-cell-face-property (beg end &optional object)
5234 "Put cell face property." 5238 "Put cell face property."
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el
index 1bead17e10c..25670e8c310 100644
--- a/lisp/textmodes/texinfo.el
+++ b/lisp/textmodes/texinfo.el
@@ -5,7 +5,7 @@
5 5
6;; Author: Robert J. Chassell 6;; Author: Robert J. Chassell
7;; Date: [See date below for texinfo-version] 7;; Date: [See date below for texinfo-version]
8;; Maintainer: bug-texinfo@gnu.org 8;; Maintainer: FSF
9;; Keywords: maint, tex, docs 9;; Keywords: maint, tex, docs
10 10
11;; This file is part of GNU Emacs. 11;; This file is part of GNU Emacs.
@@ -59,6 +59,12 @@
59 :type 'string 59 :type 'string
60 :group 'texinfo) 60 :group 'texinfo)
61 61
62(defcustom texinfo-mode-hook nil
63 "Normal hook run when entering Texinfo mode."
64 :type 'hook
65 :options '(turn-on-auto-fill flyspell-mode)
66 :group 'texinfo)
67
62 68
63;;; Autoloads: 69;;; Autoloads:
64 70
diff --git a/lisp/toolbar/gud-next.pbm b/lisp/toolbar/gud-n.pbm
index dc2a15323e3..dc2a15323e3 100644
--- a/lisp/toolbar/gud-next.pbm
+++ b/lisp/toolbar/gud-n.pbm
Binary files differ
diff --git a/lisp/toolbar/gud-next.xpm b/lisp/toolbar/gud-n.xpm
index 0e631de18e1..0e631de18e1 100644
--- a/lisp/toolbar/gud-next.xpm
+++ b/lisp/toolbar/gud-n.xpm
diff --git a/lisp/toolbar/gud-nexti.pbm b/lisp/toolbar/gud-ni.pbm
index ecad2965b0d..ecad2965b0d 100644
--- a/lisp/toolbar/gud-nexti.pbm
+++ b/lisp/toolbar/gud-ni.pbm
Binary files differ
diff --git a/lisp/toolbar/gud-nexti.xpm b/lisp/toolbar/gud-ni.xpm
index cdb8c38e8d4..cdb8c38e8d4 100644
--- a/lisp/toolbar/gud-nexti.xpm
+++ b/lisp/toolbar/gud-ni.xpm
diff --git a/lisp/toolbar/gud-step.pbm b/lisp/toolbar/gud-s.pbm
index de7caa50ed5..de7caa50ed5 100644
--- a/lisp/toolbar/gud-step.pbm
+++ b/lisp/toolbar/gud-s.pbm
Binary files differ
diff --git a/lisp/toolbar/gud-step.xpm b/lisp/toolbar/gud-s.xpm
index 7b4eb876235..7b4eb876235 100644
--- a/lisp/toolbar/gud-step.xpm
+++ b/lisp/toolbar/gud-s.xpm
diff --git a/lisp/toolbar/gud-stepi.pbm b/lisp/toolbar/gud-si.pbm
index eed55cc4a33..eed55cc4a33 100644
--- a/lisp/toolbar/gud-stepi.pbm
+++ b/lisp/toolbar/gud-si.pbm
Binary files differ
diff --git a/lisp/toolbar/gud-stepi.xpm b/lisp/toolbar/gud-si.xpm
index d2667fc70b6..d2667fc70b6 100644
--- a/lisp/toolbar/gud-stepi.xpm
+++ b/lisp/toolbar/gud-si.xpm
diff --git a/lisp/xml.el b/lisp/xml.el
index a6159554b3f..dbd991f5583 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -104,15 +104,22 @@ CHILD-NAME should be a lower case symbol."
104 (push child match)))) 104 (push child match))))
105 (nreverse match))) 105 (nreverse match)))
106 106
107(defun xml-get-attribute (node attribute) 107(defun xml-get-attribute-or-nil (node attribute)
108 "Get from NODE the value of ATTRIBUTE. 108 "Get from NODE the value of ATTRIBUTE.
109An empty string is returned if the attribute was not found." 109Return `nil' if the attribute was not found.
110 (if (xml-node-attributes node) 110
111 (let ((value (assoc attribute (xml-node-attributes node)))) 111See also `xml-get-attribute'."
112 (if value 112 (when (xml-node-attributes node)
113 (cdr value) 113 (let ((value (assoc attribute (xml-node-attributes node))))
114 "")) 114 (when value
115 "")) 115 (cdr value)))))
116
117(defsubst xml-get-attribute (node attribute)
118 "Get from NODE the value of ATTRIBUTE.
119An empty string is returned if the attribute was not found.
120
121See also `xml-get-attribute-or-nil'."
122 (or (xml-get-attribute-or-nil node attribute) ""))
116 123
117;;******************************************************************* 124;;*******************************************************************
118;;** 125;;**
@@ -286,7 +293,6 @@ If PARSE-NS is non-nil, then QNAMES are expanded."
286 attr-list) 293 attr-list)
287 attr-list) 294 attr-list)
288 295
289
290(defun xml-intern-attrlist (attr-list) 296(defun xml-intern-attrlist (attr-list)
291 "Convert attribute names to symbols for backward compatibility." 297 "Convert attribute names to symbols for backward compatibility."
292 (mapcar (lambda (attr) 298 (mapcar (lambda (attr)
@@ -349,12 +355,12 @@ Returns one of:
349 (let* ((node-name (match-string 1)) 355 (let* ((node-name (match-string 1))
350 (attr-list (xml-parse-attlist)) 356 (attr-list (xml-parse-attlist))
351 (children (if (consp xml-ns) ;; take care of namespace parsing 357 (children (if (consp xml-ns) ;; take care of namespace parsing
352 (progn 358 (progn
353 (setq xml-ns (xml-ns-parse-ns-attrs 359 (setq xml-ns (xml-ns-parse-ns-attrs
354 attr-list xml-ns)) 360 attr-list xml-ns))
355 (list (xml-ns-expand-attr 361 (list (xml-ns-expand-attr
356 attr-list xml-ns) 362 attr-list xml-ns)
357 (xml-ns-expand-el 363 (xml-ns-expand-el
358 node-name xml-ns))) 364 node-name xml-ns)))
359 (list (xml-intern-attrlist attr-list) 365 (list (xml-intern-attrlist attr-list)
360 (intern node-name)))) 366 (intern node-name))))