summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog122
-rw-r--r--lisp/calc/calc-embed.el15
-rw-r--r--lisp/calc/calc-lang.el29
-rw-r--r--lisp/case-table.el36
-rw-r--r--lisp/emacs-lisp/lisp-mode.el10
-rw-r--r--lisp/faces.el24
-rw-r--r--lisp/font-core.el8
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-art.el11
-rw-r--r--lisp/help-fns.el1
-rw-r--r--lisp/help.el20
-rw-r--r--lisp/hi-lock.el4
-rw-r--r--lisp/international/mule-cmds.el9
-rw-r--r--lisp/net/ldap.el4
-rw-r--r--lisp/progmodes/gdb-ui.el39
-rw-r--r--lisp/progmodes/gud.el14
-rw-r--r--lisp/textmodes/ispell.el5
-rw-r--r--lisp/textmodes/reftex.el5
-rw-r--r--lisp/x-dnd.el26
19 files changed, 294 insertions, 93 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5722db8f6b1..a38b40db6e1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,107 @@
+2005-02-05 Arne_J,Ax(Brgensen <arne@arnested.dk> (tiny change)
+
+ * net/ldap.el (ldap-search-internal): Support attributes with
+ optional descriptions separated by a semi-colon, as in
+ "userCertificate;binary".
+
+2005-02-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+
+ * x-dnd.el (x-dnd-handle-xdnd): Handle the case where the flags
+ isn't a cons (i.e. the version is 0).
+
+2005-02-05 Eli Zaretskii <eliz@gnu.org>
+
+ * help.el (help-for-help): Doc fix.
+
+2005-02-05 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gdb-ui.el: Update copyright. Put GDB-Frames before
+ GDB-Windows on the menu-bar as this works better.
+
+2005-02-04 Jay Belanger <belanger@truman.edu>
+
+ * calc/calc-embed.el (calc-embedded-update): Don't put in
+ unnecessary newlines. Adjust the end of formula marker.
+
+ * calc/calc-lang.el (math-latex-parse-frac): Don't use arguments.
+ (math-latex-parse-two-args): New function.
+
+2005-02-03 Lute Kamstra <lute@gnu.org>
+
+ * help-fns.el (help-with-tutorial): Make sure that users cannot
+ remove the entire text of the tutorial by means of `undo'.
+
+2005-02-03 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * textmodes/ispell.el (ispell-internal-change-dictionary): Fix problem
+ in recent changes, where the ispell process was repeatedly
+ killed & restarted.
+
+ * international/mule-cmds.el (set-locale-environment): Set file-name
+ coding system to utf-8 on Darwin systems.
+ (set-default-coding-systems): Don't set default-file-name-coding-system
+ on Darwin systems.
+
+2005-02-03 Richard M. Stallman <rms@gnu.org>
+
+ * hi-lock.el (hi-lock-mode): Turning on Hi-Lock turns on Font-Lock.
+
+2005-02-03 Matt Hodges <MPHodges@member.fsf.org>
+
+ * faces.el (list-faces-display): Add optional argument.
+
+2005-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * font-core.el (font-lock-default-function): Handle the rare case where
+ only font-lock-keywords is set.
+
+2005-02-02 Kenichi Handa <handa@m17n.org>
+
+ * international/characters.el: Cancel previous change for
+ I-WITH-DOT-ABOVE and DOTLESS-i.
+
+ * international/latin-5.el: Cancel previous change.
+
+2005-02-02 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gud.el: Correction to syntax in gud-menu-map.
+
+2005-02-02 Kenichi Handa <handa@m17n.org>
+
+ * international/latin-5.el (tbl): Setup cases of I-WITH-DOT-ABOVE,
+ DOTLESS-i.
+
+ * international/characters.el: Setup cases of GREEK-FINAL-SIGMA,
+ Y-WITH-DIAERESIS, I-WITH-DOT-ABOVE, DOTLESS-i.
+
+ * case-table.el (get-upcase-table): New function.
+ (copy-case-table): Copy upcaes table too if non-nil.
+ (set-case-syntax-delims): Maintain upcase table too.
+ (set-case-syntax-pair): Likewise.
+ (set-upcase-syntax, set-downcase-syntax): New functions.
+ (set-case-syntax): Maintain upcase table too.
+
+2005-02-02 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gdb-ui.el: (gdb-goto-info): Delete.
+
+ * progmodes/gud.el (gud-goto-info): New function.
+ (gud-tool-bar-map): Use correct icon.
+
+2005-02-01 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * emacs-lisp/lisp-mode.el (lisp-indent-function): Fix bug:
+ When delegating, order args in the funcall correctly.
+
+2005-02-01 Thien-Thi Nguyen <ttn@gnu.org>
+
+ * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix.
+
+2005-02-01 Carsten Dominik <dominik@science.uva.nl>
+
+ * textmodes/reftex.el (reftex-access-scan-info): Error out in a
+ buffer not visiting a file.
+
2005-01-31 Jay Belanger <belanger@truman.edu>
* calc/calc-embed.el (calc-embedded-find-bounds): Set the formula
@@ -111,7 +215,7 @@
2005-01-29 Richard M. Stallman <rms@gnu.org>
- * ses.el (undo-more): defadvice deleted.
+ * ses.el (undo-more): Delete defadvice.
(ses-begin-change): Doc fix.
* dired.el (dired-mode-map): Remap `undo' and `advertised-undo'
@@ -129,7 +233,7 @@
* simple.el (undo): Fix the test for continuing a series of undos.
(undo-more): Set pending-undo-list to t when we reach end.
- (pending-undo-list): defvar moved up.
+ (pending-undo-list): Move up defvar.
* wid-edit.el (widget-button-click):
Shorten the range of the track-mouse binding.
@@ -154,6 +258,20 @@
(gdb-assembler-custom): Update to recognise breakpoint information
added on 2005-01-19.
+2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * progmodes/scheme.el (scheme-mode-variables): Set comment-add.
+ (dsssl-mode): Use define-derived-mode.
+ (scheme-mode-initialize): Remove.
+ (scheme-mode): Use run-mode-hooks.
+
+ * cus-edit.el (customize-group-other-window)
+ (custom-buffer-create-other-window): Don't override special-display-*.
+ (custom-mode-map): Make it dense.
+
+ * emacs-lisp/lisp-mode.el (eval-defun-1): Make sure `defvar' always
+ sets the default value.
+
2005-01-28 Eli Zaretskii <eliz@gnu.org>
* descr-text.el: Add more keywords.
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el
index 4c6311c9a5b..e3b3b6b5b19 100644
--- a/lisp/calc/calc-embed.el
+++ b/lisp/calc/calc-embed.el
@@ -967,19 +967,24 @@ The command \\[yank] can retrieve it from there."
(calc-embedded-original-buffer t info)
(or (equal str (aref info 6))
(let ((delta (- (aref info 5) (aref info 3)))
+ (adjbot 0)
(buffer-read-only nil))
(goto-char (aref info 2))
(delete-region (point) (aref info 3))
(and (> (nth 1 entry) (1+ extra))
(aref info 7)
(progn
- (aset info 7 nil)
(delete-horizontal-space)
- (insert "\n\n")
- (delete-horizontal-space)
- (backward-char 1)))
+ (if (looking-at "\n")
+ ;; If there's a newline there, don't add one
+ (insert "\n")
+ (insert "\n\n")
+ (delete-horizontal-space)
+ (setq adjbot 1)
+; (setq delta (1+ delta))
+ (backward-char 1))))
(insert str)
- (set-marker (aref info 3) (point))
+ (set-marker (aref info 3) (+ (point) adjbot))
(set-marker (aref info 5) (+ (point) delta))
(aset info 6 str))))))
(if (eq (car-safe val) 'calcFunc-evalto)
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el
index d91d78fc461..63d24bb76d5 100644
--- a/lisp/calc/calc-lang.el
+++ b/lisp/calc/calc-lang.el
@@ -469,12 +469,12 @@
(put 'latex 'math-function-table
(append
(get 'tex 'math-function-table)
- '(( \\frac . (math-latex-parse-frac /))
- ( \\tfrac . (math-latex-parse-frac /))
- ( \\dfrac . (math-latex-parse-frac /))
- ( \\binom . (math-latex-parse-frac calcFunc-choose))
- ( \\tbinom . (math-latex-parse-frac calcFunc-choose))
- ( \\dbinom . (math-latex-parse-frac calcFunc-choose))
+ '(( \\frac . (math-latex-parse-frac))
+ ( \\tfrac . (math-latex-parse-frac))
+ ( \\dfrac . (math-latex-parse-frac))
+ ( \\binom . (math-latex-parse-two-args calcFunc-choose))
+ ( \\tbinom . (math-latex-parse-two-args calcFunc-choose))
+ ( \\dbinom . (math-latex-parse-two-args calcFunc-choose))
( \\phi . calcFunc-totient )
( \\mu . calcFunc-moebius ))))
@@ -487,12 +487,23 @@
(put 'latex 'math-complex-format 'i)
+
(defun math-latex-parse-frac (f val)
(let (numer denom)
- (setq args (math-read-expr-list))
+ (setq numer (car (math-read-expr-list)))
+ (math-read-token)
+ (setq denom (math-read-factor))
+ (if (and (Math-num-integerp numer)
+ (Math-num-integerp denom))
+ (list 'frac numer denom)
+ (list '/ numer denom))))
+
+(defun math-latex-parse-two-args (f val)
+ (let (first second)
+ (setq first (car (math-read-expr-list)))
(math-read-token)
- (setq margs (math-read-factor))
- (list (nth 2 f) (car args) margs)))
+ (setq second (math-read-factor))
+ (list (nth 2 f) first second)))
(defun math-latex-print-frac (a fn)
(list 'horiz (nth 1 fn) "{" (math-compose-expr (nth 1 a) -1)
diff --git a/lisp/case-table.el b/lisp/case-table.el
index 747e90c28f5..c3da621a9dd 100644
--- a/lisp/case-table.el
+++ b/lisp/case-table.el
@@ -1,6 +1,6 @@
;;; case-table.el --- code to extend the character set and support case tables
-;; Copyright (C) 1988, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1988, 1994, 2005 Free Software Foundation, Inc.
;; Author: Howard Gayle
;; Maintainer: FSF
@@ -60,11 +60,26 @@
(describe-vector description)
(help-mode)))))
+(defun get-upcase-table (case-table)
+ "Return the upcase table of CASE-TABLE."
+ (or (char-table-extra-slot case-table 0)
+ ;; Setup all extra slots of CASE-TABLE by temporarily selecting
+ ;; it as the standard case table.
+ (let ((old (standard-case-table)))
+ (unwind-protect
+ (progn
+ (set-standard-case-table case-table)
+ (char-table-extra-slot case-table 0))
+ (or (eq case-table old)
+ (set-standard-case-table old))))))
+
(defun copy-case-table (case-table)
- (let ((copy (copy-sequence case-table)))
- ;; Clear out the extra slots so that they will be
- ;; recomputed from the main (downcase) table.
- (set-char-table-extra-slot copy 0 nil)
+ (let ((copy (copy-sequence case-table))
+ (up (char-table-extra-slot case-table 0)))
+ ;; Clear out the extra slots (except for upcase table) so that
+ ;; they will be recomputed from the main (downcase) table.
+ (if up
+ (set-char-table-extra-slot copy 0 (copy-sequence up)))
(set-char-table-extra-slot copy 1 nil)
(set-char-table-extra-slot copy 2 nil)
copy))
@@ -77,9 +92,11 @@ It also modifies `standard-syntax-table' to
indicate left and right delimiters."
(aset table l l)
(aset table r r)
+ (let ((up (get-upcase-table table)))
+ (aset up l l)
+ (aset up r r))
;; Clear out the extra slots so that they will be
- ;; recomputed from the main (downcase) table.
- (set-char-table-extra-slot table 0 nil)
+ ;; recomputed from the main (downcase) table and upcase table.
(set-char-table-extra-slot table 1 nil)
(set-char-table-extra-slot table 2 nil)
(modify-syntax-entry l (concat "(" (char-to-string r) " ")
@@ -110,9 +127,10 @@ that will be used as the downcase part of a case table.
It also modifies `standard-syntax-table'.
SYNTAX should be \" \", \"w\", \".\" or \"_\"."
(aset table c c)
+ (let ((up (get-upcase-table table)))
+ (aset up c c))
;; Clear out the extra slots so that they will be
- ;; recomputed from the main (downcase) table.
- (set-char-table-extra-slot table 0 nil)
+ ;; recomputed from the main (downcase) table and upcase table.
(set-char-table-extra-slot table 1 nil)
(set-char-table-extra-slot table 2 nil)
(modify-syntax-entry c syntax (standard-syntax-table)))
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 86c3ac1bab4..6b5c0b1c0f1 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -881,11 +881,11 @@ which has a non-nil property `lisp-indent-function',
that specifies how to do the indentation. The property value can be
* `defun', meaning indent `defun'-style;
* an integer N, meaning indent the first N arguments specially
-like ordinary function arguments and then indent any further
-aruments like a body;
+ like ordinary function arguments and then indent any further
+ arguments like a body;
* a function to call just as this function was called.
-If that function returns nil, that means it doesn't specify
-the indentation.
+ If that function returns nil, that means it doesn't specify
+ the indentation.
This function also returns nil meaning don't specify the indentation."
(let ((normal-indent (current-column)))
@@ -921,7 +921,7 @@ This function also returns nil meaning don't specify the indentation."
(lisp-indent-specform method state
indent-point normal-indent))
(method
- (funcall method state indent-point)))))))
+ (funcall method indent-point state)))))))
(defvar lisp-body-indent 2
"Number of columns to indent the second line of a `(def...)' form.")
diff --git a/lisp/faces.el b/lisp/faces.el
index 5efcc30cfea..0185541ecef 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1143,15 +1143,26 @@ Value is a list (FACE NEW-VALUE) where FACE is the face read
;; conflict with Lucid, which uses that name differently.
(defvar help-xref-stack)
-(defun list-faces-display ()
+(defun list-faces-display (&optional regexp)
"List all faces, using the same sample text in each.
The sample text is a string that comes from the variable
-`list-faces-sample-text'."
- (interactive)
+`list-faces-sample-text'.
+
+If REGEXP is non-nil, list only those faces with names matching
+this regular expression. When called interactively with a prefix
+arg, prompt for a regular expression."
+ (interactive (list (and current-prefix-arg
+ (read-string "List faces matching regexp: "))))
(let ((faces (sort (face-list) #'string-lessp))
- (face nil)
(frame (selected-frame))
disp-frame window face-name)
+ (when (> (length regexp) 0)
+ (setq faces
+ (delq nil
+ (mapcar (lambda (f)
+ (when (string-match regexp (symbol-name f))
+ f))
+ faces))))
(with-output-to-temp-buffer "*Faces*"
(save-excursion
(set-buffer standard-output)
@@ -1164,9 +1175,7 @@ The sample text is a string that comes from the variable
"\\[help-follow] on a face name to customize it\n"
"or on its sample text for a description of the face.\n\n")))
(setq help-xref-stack nil)
- (while faces
- (setq face (car faces))
- (setq faces (cdr faces))
+ (dolist (face faces)
(setq face-name (symbol-name face))
(insert (format "%25s " face-name))
;; Hyperlink to a customization buffer for the face. Using
@@ -1208,6 +1217,7 @@ The sample text is a string that comes from the variable
(copy-face (car faces) (car faces) frame disp-frame)
(setq faces (cdr faces)))))))
+
(defun describe-face (face &optional frame)
"Display the properties of face FACE on FRAME.
Interactively, FACE defaults to the faces of the character after point
diff --git a/lisp/font-core.el b/lisp/font-core.el
index ce4a35a0ec3..bbe1961e51e 100644
--- a/lisp/font-core.el
+++ b/lisp/font-core.el
@@ -1,7 +1,7 @@
;;; font-core.el --- Core interface to font-lock
-;; Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 1999, 2000, 2001, 02, 2003
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+;; 2002, 2003, 2005 Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: languages, faces
@@ -202,6 +202,7 @@ this function onto `change-major-mode-hook'."
;; Only do hard work if the mode has specified stuff in
;; `font-lock-defaults'.
(when (or font-lock-defaults
+ (and (boundp 'font-lock-keywords) font-lock-keywords)
(cdr (assq major-mode font-lock-defaults-alist)))
(font-lock-mode-internal mode)))
@@ -295,6 +296,5 @@ means that Font Lock mode is turned on for buffers in C and C++ modes only."
(provide 'font-core)
+;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71
;;; font-core.el ends here
-
-;;; arch-tag: f8c286e1-02f7-41d9-b89b-1b67780aed71
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index eb761d10b27..e0db7c194a7 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-03 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-mime-inline-part): Show the raw contents if a
+ prefix arg is neither nil nor a number, as info specifies.
+
2005-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
* gnus-art.el (gnus-article-mode): Turn off the "\ " non-break space.
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 3f8e172c1a8..22d48c3eff0 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4354,7 +4354,16 @@ are decompressed."
(setq charset
(or (cdr (assq arg
gnus-summary-show-article-charset-alist))
- (mm-read-coding-system "Charset: ")))))
+ (mm-read-coding-system "Charset: "))))
+ (t
+ (if (mm-handle-undisplayer handle)
+ (mm-remove-part handle))
+ (setq contents
+ (if (fboundp 'string-to-multibyte)
+ (string-to-multibyte contents)
+ (mapconcat
+ (lambda (ch) (mm-string-as-multibyte (char-to-string ch)))
+ contents "")))))
(forward-line 2)
(mm-insert-inline handle
(if (and charset
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 9acadaa2fa6..4bf0a4775a0 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -97,6 +97,7 @@ With ARG, you are asked to choose which language."
(forward-line 1)
(newline (- n (/ n 2)))))
(goto-char (point-min))
+ (setq buffer-undo-list nil)
(set-buffer-modified-p nil))))
;;;###autoload
diff --git a/lisp/help.el b/lisp/help.el
index f5831c9ab3f..5da7ef0c03a 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -186,7 +186,7 @@ If FUNCTION is nil, it applies `message', thus displaying the message."
\(Use SPC or DEL to scroll through this text. Type \\<help-map>\\[help-quit] to exit the Help command.)
a command-apropos. Give a substring, and see a list of commands
- (functions interactively callable) that contain
+ (functions that are interactively callable) that contain
that substring. See also the apropos command.
b describe-bindings. Display table of all key bindings.
c describe-key-briefly. Type a command key sequence;
@@ -194,24 +194,28 @@ c describe-key-briefly. Type a command key sequence;
C describe-coding-system. This describes either a specific coding system
(if you type its name) or the coding systems currently in use
(if you type just RET).
-e view-echo-area-messages. Show the `*Messages*' buffer.
-f describe-function. Type a function name and get documentation of it.
+e view-echo-area-messages. Show the buffer where the echo-area messages
+ are stored.
+f describe-function. Type a function name and get its documentation.
F Info-goto-emacs-command-node. Type a function name;
- it takes you to the Info node for that command.
+ it takes you to the on-line manual's section that describes
+ the command.
h Display the HELLO file which illustrates various scripts.
-i info. The info documentation reader.
+i info. The Info documentation reader: read on-line manuals.
I describe-input-method. Describe a specific input method (if you type
its name) or the current input method (if you type just RET).
k describe-key. Type a command key sequence;
- it displays the full documentation.
+ it displays the full documentation for that key sequence.
K Info-goto-emacs-key-command-node. Type a command key sequence;
- it takes you to the Info node for the command bound to that key.
+ it takes you to the on-line manual's section that describes
+ the command bound to that key.
l view-lossage. Show last 100 characters you typed.
L describe-language-environment. This describes either a
specific language environment (if you type its name)
or the current language environment (if you type just RET).
-m describe-mode. Print documentation of current minor modes,
+m describe-mode. Display documentation of current minor modes,
and the current major mode, including their special commands.
+n view-emacs-news. Display news of recent Emacs changes.
p finder-by-keyword. Find packages matching a given topic keyword.
s describe-syntax. Display contents of syntax table, plus explanations.
S info-lookup-symbol. Display the definition of a specific symbol
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el
index 99eeb698171..81c7296760f 100644
--- a/lisp/hi-lock.el
+++ b/lisp/hi-lock.el
@@ -294,6 +294,10 @@ is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'."
(when (and (not hi-lock-mode-prev) hi-lock-mode)
(add-hook 'find-file-hooks 'hi-lock-find-file-hook)
(add-hook 'font-lock-mode-hook 'hi-lock-font-lock-hook)
+ (when (eq nil font-lock-defaults)
+ (setq font-lock-defaults '(nil)))
+ (unless font-lock-mode
+ (font-lock-mode 1))
(define-key-after menu-bar-edit-menu [hi-lock]
(cons "Regexp Highlighting" hi-lock-menu))
(dolist (buffer (buffer-list))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 5953d499755..acebb3b8d70 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -332,7 +332,8 @@ This also sets the following values:
(or (local-variable-p 'buffer-file-coding-system buffer)
(ucs-set-table-for-input buffer))))
- (if default-enable-multibyte-characters
+ (if (and default-enable-multibyte-characters (not (eq system-type 'darwin)))
+ ;; The file-name coding system on Darwin systems is always utf-8.
(setq default-file-name-coding-system coding-system))
;; If coding-system is nil, honor that on MS-DOS as well, so
;; that they could reset the terminal coding system.
@@ -1647,6 +1648,8 @@ The default status is as follows:
(set-default-coding-systems nil)
(setq default-sendmail-coding-system 'iso-latin-1)
+ ;; On Darwin systems, this should be utf-8, but when this file is loaded
+ ;; utf-8 is not yet defined, so we set it in set-locale-environment instead.
(setq default-file-name-coding-system 'iso-latin-1)
;; Preserve eol-type from existing default-process-coding-systems.
;; On non-unix-like systems in particular, these may have been set
@@ -2411,6 +2414,10 @@ system codeset `%s' for this locale." coding-system codeset))))))))
(set-keyboard-coding-system code-page-coding)
(set-terminal-coding-system code-page-coding))))
+ ;; On Darwin, file names are always encoded in utf-8, no matter the locale.
+ (when (eq system-type 'darwin)
+ (setq default-file-name-coding-system 'utf-8))
+
;; Default to A4 paper if we're not in a C, POSIX or US locale.
;; (See comments in Flocale_info.)
(let ((locale locale)
diff --git a/lisp/net/ldap.el b/lisp/net/ldap.el
index f093fb1cbcc..16af42ffc27 100644
--- a/lisp/net/ldap.el
+++ b/lisp/net/ldap.el
@@ -579,9 +579,9 @@ an alist of attribute/value pairs."
(end-of-line)
(point))))
(forward-line 1)
- (while (looking-at "^\\(\\w*\\)[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$")
+ (while (looking-at "^\\(\\w*\\)\\(;\\w*\\)?[=:\t ]+\\(<[\t ]*file://\\)?\\(.*\\)$")
(setq name (match-string 1)
- value (match-string 3))
+ value (match-string 4))
;; Need to handle file:///D:/... as generated by OpenLDAP
;; on DOS/Windows as local files.
(if (and (memq system-type '(windows-nt ms-dos))
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 54c43d1df36..9c15fc5be52 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -4,7 +4,7 @@
;; Maintainer: FSF
;; Keywords: unix, tools
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
@@ -289,13 +289,6 @@ detailed description of this mode.
`(lambda () (gdb-var-create-handler ,expr))))))
(select-window (get-buffer-window gud-comint-buffer 0)))
-(defun gdb-goto-info ()
- "Go to Emacs info node: GDB Graphical Interface."
- (interactive)
- (select-frame (make-frame))
- (require 'info)
- (Info-goto-node "(emacs)GDB Graphical Interface"))
-
(defconst gdb-var-create-regexp
"name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"")
@@ -1897,18 +1890,6 @@ corresponding to the mode line clicked."
;;; Shared keymap initialization:
-(let ((menu (make-sparse-keymap "GDB-Frames")))
- (define-key gud-menu-map [frames]
- `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
- (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
- (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
- (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
- (define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer))
- (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer))
- (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer))
- (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer))
- (define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer)))
-
(let ((menu (make-sparse-keymap "GDB-Windows")))
(define-key gud-menu-map [displays]
`(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba)))
@@ -1921,15 +1902,27 @@ corresponding to the mode line clicked."
(define-key menu [frames] '("Stack" . gdb-display-stack-buffer))
(define-key menu [breakpoints] '("Breakpoints" . gdb-display-breakpoints-buffer)))
+(let ((menu (make-sparse-keymap "GDB-Frames")))
+ (define-key gud-menu-map [frames]
+ `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
+ (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
+ (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
+ (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
+ (define-key menu [assembler] '("Machine" . gdb-frame-assembler-buffer))
+ (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer))
+ (define-key menu [locals] '("Locals" . gdb-frame-locals-buffer))
+ (define-key menu [frames] '("Stack" . gdb-frame-stack-buffer))
+ (define-key menu [breakpoints] '("Breakpoints" . gdb-frame-breakpoints-buffer)))
+
(let ((menu (make-sparse-keymap "GDB-UI")))
(define-key gud-menu-map [ui]
`(menu-item "GDB-UI" ,menu :visible (eq gud-minor-mode 'gdba)))
(define-key menu [gdb-restore-windows]
- '("Restore window layout" . gdb-restore-windows))
+ '("Restore Window Layout" . gdb-restore-windows))
(define-key menu [gdb-many-windows]
(menu-bar-make-toggle gdb-many-windows gdb-many-windows
- "Display other windows" "Many Windows %s"
- "Display locals, stack and breakpoint information")))
+ "Display Other Windows" "Many windows %s"
+ "Toggle display of locals, stack and breakpoint information")))
(defun gdb-frame-gdb-buffer ()
"Display GUD buffer in a new frame."
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 2a40ae1aab6..0988599ed54 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -91,9 +91,17 @@ If SOFT is non-nil, returns nil if the symbol doesn't already exist."
"Non-nil if debuggee is running.
Used to grey out relevant toolbar icons.")
+(defun gud-goto-info ()
+ "Go to relevant Emacs info node."
+ (interactive)
+ (select-frame (make-frame))
+ (require 'info)
+ (if (memq gud-minor-mode '(gdbmi gdba))
+ (Info-goto-node "(emacs)GDB Graphical Interface")
+ (Info-goto-node "(emacs)Debuggers")))
+
(easy-mmode-defmap gud-menu-map
- '(([help] menu-item "Help" gdb-goto-info
- :enable (memq gud-minor-mode '(gdbmi gdba)))
+ '(([help] "Info" . gud-goto-info)
([refresh] "Refresh" . gud-refresh)
([run] menu-item "Run" gud-run
:enable (and (not gud-running)
@@ -172,7 +180,7 @@ Used to grey out relevant toolbar icons.")
(gud-nexti . "gud-ni")
(gud-up . "gud-up")
(gud-down . "gud-down")
- (gdb-goto-info . "help"))
+ (gud-goto-info . "info"))
map)
(tool-bar-local-item-from-menu
(car x) (cdr x) map gud-minor-mode-map)))))
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 3f3529f2aa5..c3b0f561cc2 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -1,6 +1,7 @@
;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
-;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
+;; Free Software Foundation, Inc.
;; Author: Ken Stevens <k.stevens@ieee.org>
;; Maintainer: Ken Stevens <k.stevens@ieee.org>
@@ -2419,7 +2420,7 @@ With prefix argument, set the default dictionary."
"Update the dictionary actually used by Ispell.
This may kill the Ispell process; if so,
a new one will be started when needed."
- (let ((dict (or ispell-local-dictionary ispell-dictionary "default")))
+ (let ((dict (or ispell-local-dictionary ispell-dictionary)))
(unless (equal ispell-current-dictionary dict)
(setq ispell-current-dictionary dict)
(ispell-kill-ispell t))))
diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el
index 318279b1377..49485c24725 100644
--- a/lisp/textmodes/reftex.el
+++ b/lisp/textmodes/reftex.el
@@ -1228,6 +1228,11 @@ This enforces rescanning the buffer on next use."
;; But, when RESCAN is -1, don't rescan even if docstruct is empty.
;; When FILE is non-nil, parse only from that file.
+ ;; Error out in a buffer without a file.
+ (if (and reftex-mode
+ (not (buffer-file-name)))
+ (error "RefTeX works only in buffers visiting a file."))
+
;; Make sure we have the symbols tied
(if (eq reftex-docstruct-symbol nil)
;; Symbols are not yet tied: Tie them.
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index f2b081fdcc5..a540c1b7af3 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -557,18 +557,20 @@ EVENT is the client message. FRAME is where the mouse is now.
WINDOW is the window within FRAME where the mouse is now.
FORMAT is 32 (not used). MESSAGE is the data part of an XClientMessageEvent."
(cond ((equal "XdndEnter" message)
- (let ((version (ash (car (aref data 1)) -8))
- (more-than-3 (cdr (aref data 1)))
- (dnd-source (aref data 0)))
- (x-dnd-save-state
- window nil nil
- (if (> more-than-3 0)
- (x-window-property "XdndTypeList"
- frame "AnyPropertyType"
- dnd-source nil t)
- (vector (x-get-atom-name (aref data 2))
- (x-get-atom-name (aref data 3))
- (x-get-atom-name (aref data 4)))))))
+ (let* ((flags (aref data 1))
+ (version (and (consp flags) (ash (car flags) -8)))
+ (more-than-3 (and (consp flags) (cdr flags)))
+ (dnd-source (aref data 0)))
+ (if version ;; If flags is bad, version will be nil.
+ (x-dnd-save-state
+ window nil nil
+ (if (> more-than-3 0)
+ (x-window-property "XdndTypeList"
+ frame "AnyPropertyType"
+ dnd-source nil t)
+ (vector (x-get-atom-name (aref data 2))
+ (x-get-atom-name (aref data 3))
+ (x-get-atom-name (aref data 4))))))))
((equal "XdndPosition" message)
(let* ((x (car (aref data 2)))