summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog62
-rw-r--r--lisp/descr-text.el226
-rw-r--r--lisp/emacs-lisp/checkdoc.el2
-rw-r--r--lisp/emacs-lisp/cl-macs.el28
-rw-r--r--lisp/help-fns.el35
-rw-r--r--lisp/international/code-pages.el12
-rw-r--r--lisp/international/mule-cmds.el16
-rw-r--r--lisp/language/chinese.el2
-rw-r--r--lisp/language/japanese.el1
-rw-r--r--lisp/language/korean.el1
-rw-r--r--lisp/net/quickurl.el16
-rw-r--r--lisp/pcvs.el9
-rw-r--r--lisp/progmodes/gud.el5
-rw-r--r--lisp/progmodes/python.el4
-rw-r--r--lisp/sb-dir-minus.xpm37
-rw-r--r--lisp/sb-dir-plus.xpm37
-rw-r--r--lisp/sb-dir.xpm35
-rw-r--r--lisp/sb-mail.xpm37
-rw-r--r--lisp/sb-pg-minus.xpm37
-rw-r--r--lisp/sb-pg-plus.xpm37
-rw-r--r--lisp/sb-pg.xpm37
-rw-r--r--lisp/sb-tag-gt.xpm29
-rw-r--r--lisp/sb-tag-minus.xpm31
-rw-r--r--lisp/sb-tag-plus.xpm31
-rw-r--r--lisp/sb-tag-type.xpm29
-rw-r--r--lisp/sb-tag-v.xpm29
-rw-r--r--lisp/sb-tag.xpm29
-rw-r--r--lisp/subr.el6
-rw-r--r--lisp/term/w32-win.el2
29 files changed, 478 insertions, 384 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c7a3ca20f00..7eb5e70b23a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,57 @@
+2004-05-10 Kenichi Handa <handa@m17n.org>
+
+ * descr-text.el (describe-char): Fix previous change. Don't make
+ a unibyte character to multibyte in the *Help* buffer.
+
+2004-05-10 Miles Bader <miles@gnu.org>
+
+ * lisp/progmodes/gud.el (gud-common-init): Only consider an existing
+ buffer an error if the debugger process is actually running.
+
+2004-05-10 Juanma Barranquero <lektu@terra.es>
+
+ * subr.el (remove-overlays, read-passwd): Fix docstring.
+
+ * help-fns.el (help-argument-name): Default to italic.
+ (help-highlight-arguments): Return always (usage . doc), even when
+ usage is nil.
+
+2004-05-09 Jason Rumney <jasonr@gnu.org>
+
+ * international/code-pages (cp932, cp936, cp949, c950): Remove.
+ Only define cp125* if windows-125* is already defined.
+
+ * language/korean.el (cp949): Add alias.
+
+ * language/chinese.el (cp936, cp950): Add aliases.
+
+ * language/japanese.el (cp932): Add alias.
+
+ * term/w32-win.el: Require code-pages.
+
+ * international/mule-cmds.el (set-locale-environment): On
+ MS-Windows use ansi code-page for default coding-systems.
+ Set up paper sizes for Windows 3 letter languages.
+
+ * international/code-pages.el (cp932, cp936, cp949, cp950): Add
+ aliases. Also add cp125* if not already defined.
+
+2004-05-09 Juanma Barranquero <lektu@terra.es>
+
+ * net/quickurl.el (quickurl, quickurl-browse-url, quickurl-read):
+ Don't use CL-style default args.
+
+ * pcvs.el (cvs-mode-run, cvs-is-within-p): Fix typo in docstring.
+ (cvs-get-marked): Remove redundant arglist info.
+
+ * help-fns.el (help-highlight-arguments): Don't try to highlight
+ missing or autoloaded arglists. Accept structured arguments, like
+ the first ones of `do' and `flet'.
+
2004-05-08 Andreas Schwab <schwab@suse.de>
+ * emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fix.
+
* international/subst-ksc.el: Fix references to utf-translate-cjk
into utf-translate-cjk-mode.
* international/subst-big5.el: Likewise.
@@ -42,7 +94,7 @@
Baha'i calendar to Emacs. This calendar is based on a solar year
of 19 months of 19 days, with 4 intercalary days. Each year
begins on March 21, with the calendar starting in 1844.
-
+
* calendar/cal-menu.el, calendar/calendar.el,
calendar/diary-lib.el, calendar/holidays.el: Added support for
using cal-bahai.el.
@@ -63,6 +115,14 @@
(open-line): Make argument names match their use in docstring.
(split-line): Fix docstring.
+ * emacs-lisp/cl-macs.el (do, do*): Put usage info in a format
+ usable by `describe-function'.
+ (gensym, gentemp, typep, ignore-errors): Make argument names match
+ their use in docstring.
+
+ * progmodes/python.el (python-describe-symbol): Pass INTERACTIVE-P
+ argument to `help-setup-xref'.
+
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Version 2.0.40 of Tramp released.
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 4b6605aa426..6b4f18ff718 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -465,7 +465,6 @@ as well as widgets, buttons, overlays, and text properties."
(if (>= pos (point-max))
(error "No character follows specified position"))
(let* ((char (char-after pos))
- (char-string (buffer-substring pos (1+ pos)))
(charset (char-charset char))
(buffer (current-buffer))
(composition (find-composition pos nil nil t))
@@ -478,125 +477,114 @@ as well as widgets, buttons, overlays, and text properties."
(overlays (mapcar #'(lambda (o) (overlay-properties o))
(overlays-at pos)))
item-list max-width unicode)
- (if (eq charset 'unknown)
- (setq item-list '("character"))
-
- (if (or (< char 256)
- (memq 'mule-utf-8 (find-coding-systems-region pos (1+ pos)))
- (get-char-property pos 'untranslated-utf-8))
- (setq unicode (or (get-char-property pos 'untranslated-utf-8)
- (encode-char char 'ucs))))
- (setq item-list
- `(("character")
- ("charset"
- ,(symbol-name charset)
- ,(format "(%s)" (charset-description charset)))
- ("code point"
- ,(let ((split (split-char char)))
- (if (= (charset-dimension charset) 1)
- (format "%d" (nth 1 split))
- (format "%d %d" (nth 1 split) (nth 2 split)))))
- ("syntax"
- ,(let ((syntax (syntax-after pos)))
- (with-temp-buffer
- (internal-describe-syntax-value syntax)
- (buffer-string))))
- ("category"
- ,@(let ((category-set (char-category-set char)))
- (if (not category-set)
- '("-- none --")
- (mapcar #'(lambda (x) (format "%c:%s "
- x (category-docstring x)))
- (category-set-mnemonics category-set)))))
- ,@(let ((props (aref char-code-property-table char))
- ps)
- (when props
- (while props
- (push (format "%s:" (pop props)) ps)
- (push (format "%s;" (pop props)) ps))
- (list (cons "Properties" (nreverse ps)))))
- ("buffer code"
- ,(encoded-string-description
- (string-as-unibyte (char-to-string char)) nil))
- ("file code"
- ,@(let* ((coding buffer-file-coding-system)
- (encoded (encode-coding-char char coding)))
- (if encoded
- (list (encoded-string-description encoded coding)
- (format "(encoded by coding system %S)" coding))
- (list "not encodable by coding system"
- (symbol-name coding)))))
- ("display"
- ,(cond
- (disp-vector
- (setq disp-vector (copy-sequence disp-vector))
- (dotimes (i (length disp-vector))
- (setq char (aref disp-vector i))
- (aset disp-vector i
- (cons char (describe-char-display pos char))))
- (format "by display table entry [%s] (see below)"
- (mapconcat #'(lambda (x) (format "?%c" (car x)))
- disp-vector " ")))
- (composition
- (let ((from (car composition))
- (to (nth 1 composition))
- (next (1+ pos))
- (components (nth 2 composition))
- ch)
- (setcar composition
- (and (< from pos) (buffer-substring from pos)))
- (setcar (cdr composition)
- (and (< next to) (buffer-substring next to)))
- (dotimes (i (length components))
- (if (integerp (setq ch (aref components i)))
- (push (cons ch (describe-char-display pos ch))
- component-chars)))
- (setq component-chars (nreverse component-chars))
- (format "composed to form \"%s\" (see below)"
- (buffer-substring from to))))
- (t
- (let ((display (describe-char-display pos char)))
- (if (display-graphic-p (selected-frame))
- (if display
- (concat
- "by this font (glyph code)\n"
- (format " %s (0x%02X)"
- (car display) (cdr display)))
- "no font available")
+
+ (if (or (< char 256)
+ (memq 'mule-utf-8 (find-coding-systems-region pos (1+ pos)))
+ (get-char-property pos 'untranslated-utf-8))
+ (setq unicode (or (get-char-property pos 'untranslated-utf-8)
+ (encode-char char 'ucs))))
+ (setq item-list
+ `(("character"
+ ,(format "%s (0%o, %d, 0x%x%s)"
+ (apply 'propertize (if (not multibyte-p)
+ (single-key-description char)
+ (if (< char 128)
+ (single-key-description char)
+ (string-to-multibyte
+ (char-to-string char))))
+ (text-properties-at pos))
+ char char char
+ (if unicode
+ (format ", U+%04X" unicode)
+ "")))
+ ("charset"
+ ,(symbol-name charset)
+ ,(format "(%s)" (charset-description charset)))
+ ("code point"
+ ,(let ((split (split-char char)))
+ (if (= (charset-dimension charset) 1)
+ (format "%d" (nth 1 split))
+ (format "%d %d" (nth 1 split) (nth 2 split)))))
+ ("syntax"
+ ,(let ((syntax (syntax-after pos)))
+ (with-temp-buffer
+ (internal-describe-syntax-value syntax)
+ (buffer-string))))
+ ("category"
+ ,@(let ((category-set (char-category-set char)))
+ (if (not category-set)
+ '("-- none --")
+ (mapcar #'(lambda (x) (format "%c:%s "
+ x (category-docstring x)))
+ (category-set-mnemonics category-set)))))
+ ,@(let ((props (aref char-code-property-table char))
+ ps)
+ (when props
+ (while props
+ (push (format "%s:" (pop props)) ps)
+ (push (format "%s;" (pop props)) ps))
+ (list (cons "Properties" (nreverse ps)))))
+ ("buffer code"
+ ,(encoded-string-description
+ (string-as-unibyte (char-to-string char)) nil))
+ ("file code"
+ ,@(let* ((coding buffer-file-coding-system)
+ (encoded (encode-coding-char char coding)))
+ (if encoded
+ (list (encoded-string-description encoded coding)
+ (format "(encoded by coding system %S)" coding))
+ (list "not encodable by coding system"
+ (symbol-name coding)))))
+ ("display"
+ ,(cond
+ (disp-vector
+ (setq disp-vector (copy-sequence disp-vector))
+ (dotimes (i (length disp-vector))
+ (setq char (aref disp-vector i))
+ (aset disp-vector i
+ (cons char (describe-char-display pos char))))
+ (format "by display table entry [%s] (see below)"
+ (mapconcat #'(lambda (x) (format "?%c" (car x)))
+ disp-vector " ")))
+ (composition
+ (let ((from (car composition))
+ (to (nth 1 composition))
+ (next (1+ pos))
+ (components (nth 2 composition))
+ ch)
+ (setcar composition
+ (and (< from pos) (buffer-substring from pos)))
+ (setcar (cdr composition)
+ (and (< next to) (buffer-substring next to)))
+ (dotimes (i (length components))
+ (if (integerp (setq ch (aref components i)))
+ (push (cons ch (describe-char-display pos ch))
+ component-chars)))
+ (setq component-chars (nreverse component-chars))
+ (format "composed to form \"%s\" (see below)"
+ (buffer-substring from to))))
+ (t
+ (let ((display (describe-char-display pos char)))
+ (if (display-graphic-p (selected-frame))
(if display
- (format "terminal code %s" display)
- "not encodable for terminal"))))))
- ,@(let ((unicodedata (and unicode
- (describe-char-unicode-data unicode))))
- (if unicodedata
- (cons (list "Unicode data" " ") unicodedata))))))
+ (concat
+ "by this font (glyph code)\n"
+ (format " %s (0x%02X)"
+ (car display) (cdr display)))
+ "no font available")
+ (if display
+ (format "terminal code %s" display)
+ "not encodable for terminal"))))))
+ ,@(let ((unicodedata (and unicode
+ (describe-char-unicode-data unicode))))
+ (if unicodedata
+ (cons (list "Unicode data" " ") unicodedata)))))
(setq max-width (apply #'max (mapcar #'(lambda (x) (length (car x)))
item-list)))
- (pop item-list)
-
(with-output-to-temp-buffer "*Help*"
(with-current-buffer standard-output
(set-buffer-multibyte multibyte-p)
(let ((formatter (format "%%%ds:" max-width)))
- (insert (format formatter "character") " ")
- (setq pos (point))
- (insert char-string
- (format " (`%s', 0%o, %d, 0x%x"
- (if (< char 256)
- (single-key-description char)
- (char-to-string char))
- char char char)
- (if (eq charset 'unknown)
- ") -- invalid character code\n"
- (if unicode
- (format ", U+%04X)\n" unicode)
- ")\n")))
- (mapc #'(lambda (props)
- (let ((o (make-overlay pos (1+ pos))))
- (while props
- (overlay-put o (car props) (nth 1 props))
- (setq props (cddr props)))))
- overlays)
(dolist (elt item-list)
(when (cadr elt)
(insert (format formatter (car elt)))
@@ -610,6 +598,18 @@ as well as widgets, buttons, overlays, and text properties."
(insert " " clm))
(insert "\n"))))
+ (save-excursion
+ (goto-char (point-min))
+ (search-forward "character: ")
+ (setq pos (point)))
+ (if overlays
+ (mapc #'(lambda (props)
+ (let ((o (make-overlay pos (1+ pos))))
+ (while props
+ (overlay-put o (car props) (nth 1 props))
+ (setq props (cddr props)))))
+ overlays))
+
(when disp-vector
(insert
"\nThe display table entry is displayed by ")
diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el
index 67de4a96223..2aba3ea254c 100644
--- a/lisp/emacs-lisp/checkdoc.el
+++ b/lisp/emacs-lisp/checkdoc.el
@@ -1246,7 +1246,7 @@ generating a buffered list of errors."
With prefix ARG, turn Checkdoc minor mode on iff ARG is positive.
In Checkdoc minor mode, the usual bindings for `eval-defun' which is
-bound to \\<checkdoc-minor-mode-map> \\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
+bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
checking of documentation strings.
\\{checkdoc-minor-mode-map}"
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 6a6b006c2ba..286c7632ed8 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -164,21 +164,21 @@
;;; Symbols.
(defvar *gensym-counter*)
-(defun gensym (&optional arg)
+(defun gensym (&optional prefix)
"Generate a new uninterned symbol.
The name is made by appending a number to PREFIX, default \"G\"."
- (let ((prefix (if (stringp arg) arg "G"))
- (num (if (integerp arg) arg
+ (let ((pfix (if (stringp prefix) prefix "G"))
+ (num (if (integerp prefix) prefix
(prog1 *gensym-counter*
(setq *gensym-counter* (1+ *gensym-counter*))))))
- (make-symbol (format "%s%d" prefix num))))
+ (make-symbol (format "%s%d" pfix num))))
-(defun gentemp (&optional arg)
+(defun gentemp (&optional prefix)
"Generate a new interned symbol with a unique name.
The name is made by appending a number to PREFIX, default \"G\"."
- (let ((prefix (if (stringp arg) arg "G"))
+ (let ((pfix (if (stringp prefix) prefix "G"))
name)
- (while (intern-soft (setq name (format "%s%d" prefix *gensym-counter*)))
+ (while (intern-soft (setq name (format "%s%d" pfix *gensym-counter*)))
(setq *gensym-counter* (1+ *gensym-counter*)))
(intern name)))
@@ -1177,12 +1177,14 @@ Valid clauses are:
(defmacro do (steps endtest &rest body)
"The Common Lisp `do' loop.
-Format is: (do ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)"
+
+\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)"
(cl-expand-do-loop steps endtest body nil))
(defmacro do* (steps endtest &rest body)
"The Common Lisp `do*' loop.
-Format is: (do* ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)"
+
+\(fn ((VAR INIT [STEP])...) (END-TEST [RESULT...]) BODY...)"
(cl-expand-do-loop steps endtest body t))
(defun cl-expand-do-loop (steps endtest body star)
@@ -2398,10 +2400,10 @@ The type name can then be used in `typecase', `check-type', etc."
((eq (car type) 'satisfies) (list (cadr type) val))
(t (error "Bad type spec: %s" type)))))
-(defun typep (val type) ; See compiler macro below.
+(defun typep (object type) ; See compiler macro below.
"Check that OBJECT is of type TYPE.
TYPE is a Common Lisp-style type specifier."
- (eval (cl-make-type-test 'val type)))
+ (eval (cl-make-type-test 'object type)))
(defmacro check-type (form type &optional string)
"Verify that FORM is of type TYPE; signal an error if not.
@@ -2438,8 +2440,8 @@ omitted, a default message listing FORM itself is used."
nil))))
(defmacro ignore-errors (&rest body)
- "Execute FORMS; if an error occurs, return nil.
-Otherwise, return result of last FORM."
+ "Execute BODY; if an error occurs, return nil.
+Otherwise, return result of last form in BODY."
`(condition-case nil (progn ,@body) (error nil)))
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index f19bdbf1c35..df8f9359853 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -45,10 +45,10 @@ If there's no tutorial in that language, `TUTORIAL' is selected.
With ARG, you are asked to choose which language."
(interactive "P")
(let ((lang (if arg
- (let ((minibuffer-setup-hook minibuffer-setup-hook))
- (add-hook 'minibuffer-setup-hook
- 'minibuffer-completion-help)
- (read-language-name 'tutorial "Language: " "English"))
+ (let ((minibuffer-setup-hook minibuffer-setup-hook))
+ (add-hook 'minibuffer-setup-hook
+ 'minibuffer-completion-help)
+ (read-language-name 'tutorial "Language: " "English"))
(if (get-language-info current-language-environment 'tutorial)
current-language-environment
"English")))
@@ -237,7 +237,7 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(concat "src/" file)
file)))))
-(defface help-argument-name '((t (:weight bold)))
+(defface help-argument-name '((t (:slant italic)))
"Face to highlight function arguments in docstrings.")
(defun help-do-arg-highlight (doc args)
@@ -253,17 +253,16 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(defun help-highlight-arguments (usage doc &rest args)
(when usage
- (let ((case-fold-search nil)
- (next (not args))
- (opt nil))
- ;; Make a list of all arguments
- (with-temp-buffer
- (insert usage)
- (goto-char (point-min))
+ (with-temp-buffer
+ (insert usage)
+ (goto-char (point-min))
+ (let ((case-fold-search nil)
+ (next (not (or args (looking-at "\\["))))
+ (opt nil))
;; Make a list of all arguments
(while next
(or opt (not (looking-at " &")) (setq opt t))
- (if (not (re-search-forward " \\([\\[(]?\\)\\([^] &)\.]+\\)" nil t))
+ (if (not (re-search-forward " \\([\\[(]*\\)\\([^] &)\.]+\\)" nil t))
(setq next nil)
(setq args (cons (match-string 2) args))
(when (and opt (string= (match-string 1) "("))
@@ -272,11 +271,11 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(search-backward "(")
(goto-char (scan-sexps (point) 1)))))
;; Highlight aguments in the USAGE string
- (setq usage (help-do-arg-highlight (buffer-string) args)))
- ;; Highlight arguments in the DOC string
- (setq doc (and doc (help-do-arg-highlight doc args)))
- ;; Return value is like the one from help-split-fundoc, but highlighted
- (cons usage doc))))
+ (setq usage (help-do-arg-highlight (buffer-string) args))
+ ;; Highlight arguments in the DOC string
+ (setq doc (and doc (help-do-arg-highlight doc args))))))
+ ;; Return value is like the one from help-split-fundoc, but highlighted
+ (cons usage doc))
;;;###autoload
(defun describe-function-1 (function)
diff --git a/lisp/international/code-pages.el b/lisp/international/code-pages.el
index ce88a88dac2..64c430f9383 100644
--- a/lisp/international/code-pages.el
+++ b/lisp/international/code-pages.el
@@ -4482,20 +4482,18 @@ Return an updated `non-iso-charset-alist'."
?๐ ?๑ ?๒ ?๓ ?๔ ?๕ ?๖ ?๗ ?๘ ?๙ ?๚ ?๛ nil nil nil nil]
"ISO-8859-11. This is `thai-tis620' with the addition of no-break-space.")
-(dotimes (i 8)
+(dotimes (i 9)
(let ((w (intern (format "windows-125%d" i)))
(c (intern (format "cp125%d" i))))
- (if (coding-system-p c) ; 1251 is in cyrillic.el
+ ;; Define cp125* as aliases for all windows-125*, so on Windows
+ ;; we can just concat "cp" to the ANSI codepage we get from the system
+ ;; and not have to worry about whether it should be "cp" or "windows-".
+ (if (coding-system-p w)
(define-coding-system-alias c w))
;; Compatibility with codepage.el, though cp... are not the
;; canonical names.
(push (assoc w non-iso-charset-alist) non-iso-charset-alist)))
-;; Use Unicode font under Windows. Jason Rumney fecit.
-(if (fboundp 'w32-add-charset-info)
- (unless (boundp 'w32-unicode-charset-defined)
- (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)))
-
(provide 'code-pages)
;;; arch-tag: 8b6e3c73-b271-4198-866d-ea6d0ceff1b2
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 0b7aa54a288..24664f9fc64 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2413,6 +2413,16 @@ See also `locale-charset-language-names', `locale-language-names',
(prefer-coding-system coding-system)
(setq locale-coding-system coding-system))))
+ ;; On Windows, override locale-coding-system, keyboard-coding-system,
+ ;; selection-coding-system with system codepage.
+ (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-selection-coding-system code-page-coding)
+ (set-keyboard-coding-system code-page-coding)
+ (set-terminal-coding-system code-page-coding))))
+
;; Default to A4 paper if we're not in a C, POSIX or US locale.
;; (See comments in Flocale_info.)
(let ((locale locale)
@@ -2435,7 +2445,11 @@ See also `locale-charset-language-names', `locale-language-names',
("posix$" . letter)
(".._us" . letter)
(".._pr" . letter)
- (".._ca" . letter)))
+ (".._ca" . letter)
+ ("enu$" . letter) ; Windows
+ ("esu$" . letter)
+ ("enc$" . letter)
+ ("frc$" . letter)))
'a4))))))
nil)
diff --git a/lisp/language/chinese.el b/lisp/language/chinese.el
index cb1e157fde0..e3a1938b790 100644
--- a/lisp/language/chinese.el
+++ b/lisp/language/chinese.el
@@ -80,6 +80,7 @@
(define-coding-system-alias 'euc-cn 'chinese-iso-8bit)
(define-coding-system-alias 'cn-gb 'chinese-iso-8bit)
(define-coding-system-alias 'gb2312 'chinese-iso-8bit)
+(define-coding-system-alias 'cp936 'chinese-iso-8bit)
(make-coding-system
'chinese-hz 0 ?z
@@ -137,6 +138,7 @@
(define-coding-system-alias 'big5 'chinese-big5)
(define-coding-system-alias 'cn-big5 'chinese-big5)
+(define-coding-system-alias 'cp950 'chinese-big5)
;; Big5 font requires special encoding.
(define-ccl-program ccl-encode-big5-font
diff --git a/lisp/language/japanese.el b/lisp/language/japanese.el
index 2ee04e04e88..84efe70e4bb 100644
--- a/lisp/language/japanese.el
+++ b/lisp/language/japanese.el
@@ -67,6 +67,7 @@
(define-coding-system-alias 'shift_jis 'japanese-shift-jis)
(define-coding-system-alias 'sjis 'japanese-shift-jis)
+(define-coding-system-alias 'cp932 'japanese-shift-jis)
(make-coding-system
'japanese-iso-7bit-1978-irv 2 ?j
diff --git a/lisp/language/korean.el b/lisp/language/korean.el
index 72811b9e5e0..d03424ff093 100644
--- a/lisp/language/korean.el
+++ b/lisp/language/korean.el
@@ -38,6 +38,7 @@
(define-coding-system-alias 'euc-kr 'korean-iso-8bit)
(define-coding-system-alias 'euc-korea 'korean-iso-8bit)
+(define-coding-system-alias 'cp949 'korean-iso-8bit)
(make-coding-system
'iso-2022-kr 2 ?k
diff --git a/lisp/net/quickurl.el b/lisp/net/quickurl.el
index fd13b3a0f51..40a1e4bfad3 100644
--- a/lisp/net/quickurl.el
+++ b/lisp/net/quickurl.el
@@ -256,14 +256,16 @@ returned."
;; Main code:
-(defun* quickurl-read (&optional (buffer (current-buffer)))
+(defun* quickurl-read (&optional buffer)
"`read' the URL list from BUFFER into `quickurl-urls'.
+BUFFER, if nil, defaults to current buffer.
Note that this function moves point to `point-min' before doing the `read'
It also restores point after the `read'."
(save-excursion
(setf (point) (point-min))
- (setq quickurl-urls (funcall quickurl-sort-function (read buffer)))))
+ (setq quickurl-urls (funcall quickurl-sort-function
+ (read (or buffer (current-buffer)))))))
(defun quickurl-load-urls ()
"Load the contents of `quickurl-url-file' into `quickurl-urls'."
@@ -298,14 +300,15 @@ Also display a `message' saying what the URL was unless SILENT is non-nil."
(message "Found %s" (quickurl-url-url url))))
;;;###autoload
-(defun* quickurl (&optional (lookup (funcall quickurl-grab-lookup-function)))
+(defun* quickurl (&optional lookup)
"Insert an URL based on LOOKUP.
If not supplied LOOKUP is taken to be the word at point in the current
buffer, this default action can be modifed via
`quickurl-grab-lookup-function'."
(interactive)
- (when lookup
+ (when (or lookup
+ (setq lookup (funcall quickurl-grab-lookup-function)))
(quickurl-load-urls)
(let ((url (quickurl-find-url lookup)))
(if (null url)
@@ -392,14 +395,15 @@ is decided."
(message "Added %s" url))))))
;;;###autoload
-(defun* quickurl-browse-url (&optional (lookup (funcall quickurl-grab-lookup-function)))
+(defun quickurl-browse-url (&optional lookup)
"Browse the URL associated with LOOKUP.
If not supplied LOOKUP is taken to be the word at point in the
current buffer, this default action can be modifed via
`quickurl-grab-lookup-function'."
(interactive)
- (when lookup
+ (when (or lookup
+ (setq lookup (funcall quickurl-grab-lookup-function)))
(quickurl-load-urls)
(let ((url (quickurl-find-url lookup)))
(if url
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index 21e34fbc7ed..8cb21828d69 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -1312,10 +1312,7 @@ If there are any marked tins, and IGNORE-MARKS is nil, return them.
Otherwise, if the cursor selects a directory, and IGNORE-CONTENTS is
nil, return all files in it, else return just the directory.
Otherwise return (a list containing) the file the cursor points to, or
-an empty list if it doesn't point to a file at all.
-
-Args: &optional IGNORE-MARKS IGNORE-CONTENTS."
-
+an empty list if it doesn't point to a file at all."
(let ((fis nil))
(dolist (fi (if (and (boundp 'cvs-minor-current-files)
(consp cvs-minor-current-files))
@@ -1754,7 +1751,7 @@ Signal an error if there is no backup file."
(defun cvs-is-within-p (fis dir)
- "Non-nil is buffer is inside one of FIS (in DIR)."
+ "Non-nil if buffer is inside one of FIS (in DIR)."
(when (stringp buffer-file-name)
(setq buffer-file-name (expand-file-name buffer-file-name))
(let (ret)
@@ -1774,7 +1771,7 @@ BUF is the buffer to be used for cvs' output.
DONT-CHANGE-DISC non-nil indicates that the command will not change the
contents of files. This is only used by the parser.
POSTPROC is a list of expressions to be evaluated at the very end (after
- parsing if applicable). It will be prepended with `progn' is necessary."
+ parsing if applicable). It will be prepended with `progn' if necessary."
(let ((def-dir default-directory))
;; Save the relevant buffers
(save-some-buffers nil (lambda () (cvs-is-within-p fis def-dir))))
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 9cb3ae26c3b..035b5da875a 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -4,7 +4,7 @@
;; Maintainer: FSF
;; Keywords: unix, tools
-;; Copyright (C) 1992,93,94,95,96,1998,2000,02,2003 Free Software Foundation, Inc.
+;; Copyright (C) 1992,93,94,95,96,1998,2000,02,03,04 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
@@ -2387,7 +2387,8 @@ comint mode, which see."
(filepart (and file-word (concat "-" (file-name-nondirectory file))))
(existing-buffer (get-buffer (concat "*gud" filepart "*"))))
(pop-to-buffer (concat "*gud" filepart "*"))
- (if existing-buffer (error "This program is already running under gdb"))
+ (when (and existing-buffer (get-buffer-process existing-buffer))
+ (error "This program is already running under gdb"))
;; Set the dir, in case the buffer already existed with a different dir.
(setq default-directory dir)
;; Set default-directory to the file's directory.
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 0fdaf652e50..214b6f0e24c 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1343,7 +1343,7 @@ don't support `help'."
(toggle-read-only 1)
(setq view-return-to-alist
(list (cons (selected-window) help-return-method))))))
- (help-setup-xref (list 'python-describe-symbol symbol))
+ (help-setup-xref (list 'python-describe-symbol symbol) (interactive-p))
(with-output-to-temp-buffer (help-buffer)
(with-current-buffer standard-output
(set (make-local-variable 'comint-redirect-subvert-readonly) t)
@@ -1387,7 +1387,7 @@ Used with `eval-after-load'."
(string-match "^Python \\([0-9]+\\.[0-9]+\\>\\)" s)
(match-string 1 s)))
;; Whether info files have a Python version suffix, e.g. in Debian.
- (versioned
+ (versioned
(with-temp-buffer
(with-no-warnings (Info-mode))
(condition-case ()
diff --git a/lisp/sb-dir-minus.xpm b/lisp/sb-dir-minus.xpm
index 30dcd753505..0bb8a9cd897 100644
--- a/lisp/sb-dir-minus.xpm
+++ b/lisp/sb-dir-minus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_dir__xpm[] = {
-"20 15 4 1",
+static char * sb_dir_minus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
-" ....... ",
-".+++++++. ",
-".+@@@@@@+.......... ",
-".+@@@@@@@++++++++++.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@++++++@@@@@+.",
-".+@@@@@++++++@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+"# c #828282",
+" ...... ",
+" .++++++. ",
+".+@@@@@@+......... ",
+".+@@@@@@@+++++++++. ",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@+++++@@@@@@+#",
+".+@@@@@@.....@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+" #++++++++++++++++# ",
+" ################ "};
diff --git a/lisp/sb-dir-plus.xpm b/lisp/sb-dir-plus.xpm
index 4289abc0e43..009719bce6d 100644
--- a/lisp/sb-dir-plus.xpm
+++ b/lisp/sb-dir-plus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_dir+_xpm[] = {
-"20 15 4 1",
+static char * sb_dir_plus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
-" ....... ",
-".+++++++. ",
-".+@@@@@@+.......... ",
-".+@@@@@@@++++++++++.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@@@@@++++++@@@@@+.",
-".+@@@@@++++++@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+"# c #828282",
+" ...... ",
+" .++++++. ",
+".+@@@@@@+......... ",
+".+@@@@@@@+++++++++. ",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@+@@@@@@@@+#",
+".+@@@@@@@+.@@@@@@@+#",
+".+@@@@@+++++@@@@@@+#",
+".+@@@@@@.+...@@@@@+#",
+".+@@@@@@@+.@@@@@@@+#",
+".+@@@@@@@@.@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+" #++++++++++++++++# ",
+" ################ "};
diff --git a/lisp/sb-dir.xpm b/lisp/sb-dir.xpm
index 622ce19e937..1c3d3d72b87 100644
--- a/lisp/sb-dir.xpm
+++ b/lisp/sb-dir.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_dir_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
-" ....... ",
-".+++++++. ",
-".+@@@@@@+.......... ",
-".+@@@@@@@++++++++++.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+"# c #828282",
+" ...... ",
+" .++++++. ",
+".+@@@@@@+......... ",
+".+@@@@@@@+++++++++. ",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+" #++++++++++++++++# ",
+" ################ "};
diff --git a/lisp/sb-mail.xpm b/lisp/sb-mail.xpm
index 5716eeb9661..fecc0a1aa38 100644
--- a/lisp/sb-mail.xpm
+++ b/lisp/sb-mail.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_mail_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
-"@ c #FFFFFF",
-"................... ",
-".++++++++++++++++++.",
-".++@@@@@@@@@@@@@@++.",
-".+@++@@@@@@@@@@++@+.",
-".+@@@++@@@@@@++@@@+.",
-".+@@@@@++@@++@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@+@@@@@@+@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@+@@@@@@@@@@+@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++@@@@@@@@@@@@@@++.",
-".++++++++++++++++++.",
-" .................. "};
+"@ c #828282",
+"# c #FFFFFF",
+" .................. ",
+".++++++++++++++++++@",
+".++##############++@",
+".+#++##########++#+@",
+".+###++######++###+@",
+".+#####++##++#####+@",
+".+#######++#######+@",
+".+################+@",
+".+####+######+####+@",
+".+################+@",
+".+##+##########+##+@",
+".+################+@",
+".++##############++@",
+".++++++++++++++++++@",
+" @@@@@@@@@@@@@@@@@@ "};
diff --git a/lisp/sb-pg-minus.xpm b/lisp/sb-pg-minus.xpm
index 63230ef1c0a..e512d25120a 100644
--- a/lisp/sb-pg-minus.xpm
+++ b/lisp/sb-pg-minus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_file__xpm[] = {
-"20 15 4 1",
+static char * sb_pg_minus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
-"@ c #FFFFFF",
+"@ c #828282",
+"# c #FFFFFF",
" ............ ",
-" .++++++++++++.",
-" .++@@@@@@@@@@+.",
-" .+@+@@@@@@@@@@+.",
-" .+@@+@@@@@@@@@@+.",
-" .+@@@+@@@@@@@@@@+.",
-" .+@@@@+@@@@@@@@@@+.",
-".+++++++@++++++@@@+.",
-".+@@@@@@@++++++@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+" .++++++++++++@",
+" .++##########+@",
+" .+#+##########+@",
+" .+##+##########+@",
+" .+###+##########+@",
+" .+####+##########+@",
+".+++++++#+++++####+@",
+".+########.....###+@",
+".+################+@",
+".+################+@",
+".+################+@",
+".+################+@",
+".++++++++++++++++++@",
+" @@@@@@@@@@@@@@@@@@ "};
diff --git a/lisp/sb-pg-plus.xpm b/lisp/sb-pg-plus.xpm
index 0cd4ce81299..f0e74678249 100644
--- a/lisp/sb-pg-plus.xpm
+++ b/lisp/sb-pg-plus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_file+_xpm[] = {
-"20 15 4 1",
+static char * sb_pg_plus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
-"@ c #FFFFFF",
+"@ c #828282",
+"# c #FFFFFF",
" ............ ",
-" .++++++++++++.",
-" .++@@@@@@@@@@+.",
-" .+@+@@@@@@@@@@+.",
-" .+@@+@@@@@@@@@@+.",
-" .+@@@+@@@++@@@@@+.",
-" .+@@@@+@@@++@@@@@+.",
-".+++++++@++++++@@@+.",
-".+@@@@@@@++++++@@@+.",
-".+@@@@@@@@@++@@@@@+.",
-".+@@@@@@@@@++@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+" .++++++++++++@",
+" .++##########+@",
+" .+#+##########+@",
+" .+##+##########+@",
+" .+###+###+######+@",
+" .+####+###+.#####+@",
+".+++++++#+++++####+@",
+".+########.+...###+@",
+".+#########+.#####+@",
+".+##########.#####+@",
+".+################+@",
+".+################+@",
+".++++++++++++++++++@",
+" @@@@@@@@@@@@@@@@@@ "};
diff --git a/lisp/sb-pg.xpm b/lisp/sb-pg.xpm
index 241767abbdf..3a210bfa897 100644
--- a/lisp/sb-pg.xpm
+++ b/lisp/sb-pg.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_file_xpm[] = {
-"20 15 4 1",
+static char * sb_pg_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
-"@ c #FFFFFF",
+"@ c #828282",
+"# c #FFFFFF",
" ............ ",
-" .++++++++++++.",
-" .++@@@@@@@@@@+.",
-" .+@+@@@@@@@@@@+.",
-" .+@@+@@@@@@@@@@+.",
-" .+@@@+@@@@@@@@@@+.",
-" .+@@@@+@@@@@@@@@@+.",
-".+++++++@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".++++++++++++++++++.",
-" .................. "};
+" .++++++++++++@",
+" .++##########+@",
+" .+#+##########+@",
+" .+##+##########+@",
+" .+###+##########+@",
+" .+####+##########+@",
+".+++++++##########+@",
+".+################+@",
+".+################+@",
+".+################+@",
+".+################+@",
+".+################+@",
+".++++++++++++++++++@",
+" @@@@@@@@@@@@@@@@@@ "};
diff --git a/lisp/sb-tag-gt.xpm b/lisp/sb-tag-gt.xpm
index 49b8b72a2c1..9db11a13e8f 100644
--- a/lisp/sb-tag-gt.xpm
+++ b/lisp/sb-tag-gt.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_tag_gt_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@++@@@@@@@+.",
-" .+@@@@@@+++@@@@@@+.",
-".+@@@@@@@++++@@@@@+.",
-".+@++@@@@+++++@@@@+.",
-".+@++@@@@+++++.@@@+.",
-".+@@@@@@@++++.@@@@+.",
-" .+@@@@@@+++.@@@@@+.",
-" .+@@@@@++.@@@@@@+.",
-". .++++++.++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@++@@@@@@@+#",
+" .+@@@@@@+++@@@@@@+#",
+".+@@@@@@@++++@@@@@+#",
+".+@++@@@@+++++@@@@+#",
+".+@++@@@@+++++#@@@+#",
+".+@@@@@@@++++#@@@@+#",
+" #+@@@@@@+++#@@@@@+#",
+" #+@@@@@++#@@@@@@+#",
+" #++++++#+++++++# ",
+" ############## ",
" "};
diff --git a/lisp/sb-tag-minus.xpm b/lisp/sb-tag-minus.xpm
index f006c4ef4cb..560aaa3aa82 100644
--- a/lisp/sb-tag-minus.xpm
+++ b/lisp/sb-tag-minus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_tag__xpm[] = {
-"20 15 4 1",
+static char * sb_tag_minus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@++@@++++++@@@@@+.",
-".+@++@@++++++@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@+.",
-". .+++++++++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@@@@+#",
+" .+@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@++@@+++++@@@@@@+#",
+".+@++@@@.....@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+" #+@@@@@@@@@@@@@@@+#",
+" #+@@@@@@@@@@@@@@+#",
+" #++++++++++++++# ",
+" ############## ",
" "};
diff --git a/lisp/sb-tag-plus.xpm b/lisp/sb-tag-plus.xpm
index cf32fef549c..3dcf2f87c5d 100644
--- a/lisp/sb-tag-plus.xpm
+++ b/lisp/sb-tag-plus.xpm
@@ -1,22 +1,23 @@
/* XPM */
-static char * sb_tag+_xpm[] = {
-"20 15 4 1",
+static char * sb_tag_plus_xpm[] = {
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@@@@@@@@@@+.",
-" .+@@@@@@++@@@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-".+@++@@++++++@@@@@+.",
-".+@++@@++++++@@@@@+.",
-".+@@@@@@@++@@@@@@@+.",
-" .+@@@@@@++@@@@@@@+.",
-" .+@@@@@@@@@@@@@@+.",
-". .+++++++++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@@@@+#",
+" .+@@@@@@+@@@@@@@@+#",
+".+@@@@@@@+.@@@@@@@+#",
+".+@++@@+++++@@@@@@+#",
+".+@++@@@.+...@@@@@+#",
+".+@@@@@@@+.@@@@@@@+#",
+" #+@@@@@@@.@@@@@@@+#",
+" #+@@@@@@@@@@@@@@+#",
+" #++++++++++++++# ",
+" ############## ",
" "};
diff --git a/lisp/sb-tag-type.xpm b/lisp/sb-tag-type.xpm
index 65886989dbd..3abe408a66b 100644
--- a/lisp/sb-tag-type.xpm
+++ b/lisp/sb-tag-type.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_tag_type_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@@@@@@@@@@+.",
-" .+@@@@@@++++++@@@+.",
-".+@@@@@@@++++++@@@+.",
-".+@++@@@@@@++@@@@@+.",
-".+@++@@@@@@++@@@@@+.",
-".+@@@@@@@@@++@@@@@+.",
-" .+@@@@@@@@++@@@@@+.",
-" .+@@@@@@@@@@@@@@+.",
-". .+++++++++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@@@@+#",
+" .+@@@@@@++++++@@@+#",
+".+@@@@@@@++++++@@@+#",
+".+@++@@@@@@++@@@@@+#",
+".+@++@@@@@@++@@@@@+#",
+".+@@@@@@@@@++@@@@@+#",
+" #+@@@@@@@@++@@@@@+#",
+" #+@@@@@@@@@@@@@@+#",
+" #++++++++++++++# ",
+" ############## ",
" "};
diff --git a/lisp/sb-tag-v.xpm b/lisp/sb-tag-v.xpm
index 7431e4c5d87..ae447adc8e4 100644
--- a/lisp/sb-tag-v.xpm
+++ b/lisp/sb-tag-v.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_tag_v_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@@@@@@@@@@+.",
-" .+@@@++++++++++.@+.",
-".+@@@@@++++++++.@@+.",
-".+@++@@@++++++.@@@+.",
-".+@++@@@@++++.@@@@+.",
-".+@@@@@@@@++.@@@@@+.",
-" .+@@@@@@@@.@@@@@@+.",
-" .+@@@@@@@@@@@@@@+.",
-". .+++++++++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@@@@+#",
+" .+@@@++++++++++#@+#",
+".+@@@@@++++++++#@@+#",
+".+@++@@@++++++#@@@+#",
+".+@++@@@@++++#@@@@+#",
+".+@@@@@@@@++#@@@@@+#",
+" #+@@@@@@@@#@@@@@@+#",
+" #+@@@@@@@@@@@@@@+#",
+" #++++++++++++++# ",
+" ############## ",
" "};
diff --git a/lisp/sb-tag.xpm b/lisp/sb-tag.xpm
index 4c6f1c56c1f..900bfd34b26 100644
--- a/lisp/sb-tag.xpm
+++ b/lisp/sb-tag.xpm
@@ -1,22 +1,23 @@
/* XPM */
static char * sb_tag_xpm[] = {
-"20 15 4 1",
+"20 15 5 1",
" c None",
-". c #828282",
+". c #B8B8B8",
"+ c #000000",
"@ c #FFF993",
+"# c #828282",
" ",
" ",
-" ............... ",
-" .+++++++++++++++.",
-" .+@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-".+@++@@@@@@@@@@@@@+.",
-".+@++@@@@@@@@@@@@@+.",
-".+@@@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@@+.",
-" .+@@@@@@@@@@@@@@+.",
-". .+++++++++++++++.",
-" ............... ",
+" .............. ",
+" .++++++++++++++. ",
+" .+@@@@@@@@@@@@@@+#",
+" .+@@@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+".+@++@@@@@@@@@@@@@+#",
+".+@++@@@@@@@@@@@@@+#",
+".+@@@@@@@@@@@@@@@@+#",
+" #+@@@@@@@@@@@@@@@+#",
+" #+@@@@@@@@@@@@@@+#",
+" #++++++++++++++# ",
+" ############## ",
" "};
diff --git a/lisp/subr.el b/lisp/subr.el
index f90b5f774cb..5453ee2e45b 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1280,7 +1280,7 @@ any other non-digit terminates the character code and is then used as input."))
(defun read-passwd (prompt &optional confirm default)
"Read a password, prompting with PROMPT. Echo `.' for each character typed.
End with RET, LFD, or ESC. DEL or C-h rubs out. C-u kills line.
-Optional argument CONFIRM, if non-nil, then read it twice to make sure.
+If optional CONFIRM is non-nil, read password twice to make sure.
Optional DEFAULT is a default password to use instead of empty input."
(if confirm
(let (success)
@@ -1534,8 +1534,8 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there."
(defun remove-overlays (&optional beg end name val)
"Clear BEG and END of overlays whose property NAME has value VAL.
-Overlays might be moved and or split.
-BEG and END default to the beginning resp. end of buffer."
+Overlays might be moved and/or split.
+BEG and END default respectively to the beginning and end of buffer."
(unless beg (setq beg (point-min)))
(unless end (setq end (point-max)))
(if (< end beg)
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index 1ffab849406..8e0283222bc 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -77,6 +77,8 @@
(require 'select)
(require 'menu-bar)
(require 'x-dnd)
+(require 'code-pages)
+
;; Conditional on new-fontset so bootstrapping works on non-GUI compiles
(if (fboundp 'new-fontset)
(require 'fontset))