# HG changeset patch # User Katsumi Yamaoka # Date 1264171835 0 # Node ID d3036620c45ebe895e11bbce0eaeea53ba9d7113 # Parent 46c08e6b42d6eb930714e9824f47efef96d72e80# Parent 89c890863220f93c2b049febb48066aee649baae Merge from mainline. diff -r 46c08e6b42d6 -r d3036620c45e doc/emacs/ChangeLog --- a/doc/emacs/ChangeLog Wed Jan 20 14:24:11 2010 +0000 +++ b/doc/emacs/ChangeLog Fri Jan 22 14:50:35 2010 +0000 @@ -1,3 +1,7 @@ +2010-01-21 Glenn Morris + + * trouble.texi (Bugs): Fix PROBLEMS keybinding. + 2010-01-12 Glenn Morris * trouble.texi (Checklist): Use bug-gnu-emacs rather than diff -r 46c08e6b42d6 -r d3036620c45e doc/emacs/trouble.texi --- a/doc/emacs/trouble.texi Wed Jan 20 14:24:11 2010 +0000 +++ b/doc/emacs/trouble.texi Fri Jan 22 14:50:35 2010 +0000 @@ -419,7 +419,7 @@ Before reporting a bug, it is a good idea to see if it is already known. You can find the list of known problems in the file -@file{etc/PROBLEMS} in the Emacs distribution; type @kbd{C-h C-e} to read +@file{etc/PROBLEMS} in the Emacs distribution; type @kbd{C-h C-p} to read it. Some additional user-level problems can be found in @ref{Bugs and problems, , Bugs and problems, efaq, GNU Emacs FAQ}. Looking up your problem in these two documents might provide you with a solution or a diff -r 46c08e6b42d6 -r d3036620c45e doc/misc/ChangeLog --- a/doc/misc/ChangeLog Wed Jan 20 14:24:11 2010 +0000 +++ b/doc/misc/ChangeLog Fri Jan 22 14:50:35 2010 +0000 @@ -1,3 +1,7 @@ +2010-01-21 Katsumi Yamaoka + + * gnus.texi (Score File Format): Fix typo. + 2010-01-18 Juanma Barranquero * ada-mode.texi (Project File Overview): Fix typo. diff -r 46c08e6b42d6 -r d3036620c45e doc/misc/gnus.texi --- a/doc/misc/gnus.texi Wed Jan 20 14:24:11 2010 +0000 +++ b/doc/misc/gnus.texi Fri Jan 22 14:50:35 2010 +0000 @@ -21803,7 +21803,7 @@ other. @item eval -The value of this entry will be @code{eval}el. This element will be +The value of this entry will be @code{eval}ed. This element will be ignored when handling global score files. @item read-only diff -r 46c08e6b42d6 -r d3036620c45e lisp/ChangeLog --- a/lisp/ChangeLog Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/ChangeLog Fri Jan 22 14:50:35 2010 +0000 @@ -1,3 +1,25 @@ +2010-01-22 Eli Zaretskii + + * jka-compr.el (jka-compr-load): If load-file is not in + load-history, try its file-truename version. (bug#5447) + +2010-01-21 Alan Mackenzie + + Fix a situation where deletion of a cpp construct throws an error. + * progmodes/cc-engine.el (c-invalidate-state-cache): Before + invoking c-with-all-but-one-cpps-commented-out, check that the + special cpp construct is still in the buffer. + (c-parse-state): Record the special cpp with markers, not numbers. + +2010-01-21 Kenichi Handa + + * textmodes/sgml-mode.el (sgml-maybe-name-self): No need to + process last-command-event, as it is now decoded first (Bug#5380). + +2010-01-20 Chong Yidong + + * term.el (term-send-raw-meta): Revert 2009-12-04 change (Bug#5330). + 2010-01-20 Glenn Morris * indent.el (tab-always-indent): Fix custom-type. diff -r 46c08e6b42d6 -r d3036620c45e lisp/dired-aux.el --- a/lisp/dired-aux.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/dired-aux.el Fri Jan 22 14:50:35 2010 +0000 @@ -2308,7 +2308,7 @@ (restore-buffer-modified-p modflag))) ;;;###autoload -(defun dired-hide-all (arg) +(defun dired-hide-all (&optional ignored) "Hide all subdirectories, leaving only their header lines. If there is already something hidden, make everything visible again. Use \\[dired-hide-subdir] to (un)hide a particular subdirectory." diff -r 46c08e6b42d6 -r d3036620c45e lisp/dired.el --- a/lisp/dired.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/dired.el Fri Jan 22 14:50:35 2010 +0000 @@ -3517,7 +3517,7 @@ ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "557aca1f6e86b39f1c7612ee123d5354") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "07676ea25af17f5d50cc5db4f53bddc0") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ @@ -3917,7 +3917,7 @@ If there is already something hidden, make everything visible again. Use \\[dired-hide-subdir] to (un)hide a particular subdirectory. -\(fn ARG)" t nil) +\(fn &optional IGNORED)" t nil) (autoload 'dired-isearch-filenames-setup "dired-aux" "\ Set up isearch to search in Dired file names. diff -r 46c08e6b42d6 -r d3036620c45e lisp/jka-compr.el --- a/lisp/jka-compr.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/jka-compr.el Fri Jan 22 14:50:35 2010 +0000 @@ -590,7 +590,14 @@ (or nomessage (message "Loading %s...done." file)) ;; Fix up the load history to point at the right library. - (let ((l (assoc load-file load-history))) + (let ((l (or (assoc load-file load-history) + ;; On MS-Windows, if load-file is in + ;; temporary-file-directory, it will look like + ;; "c:/DOCUME~1/USER/LOCALS~1/foo", whereas + ;; readevalloop will record its truename in + ;; load-history. Therefore try truename if the + ;; original name is not in load-history. + (assoc (file-truename load-file) load-history)))) ;; Remove .gz and .elc?. (while (file-name-extension file) (setq file (file-name-sans-extension file))) diff -r 46c08e6b42d6 -r d3036620c45e lisp/progmodes/cc-engine.el --- a/lisp/progmodes/cc-engine.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/progmodes/cc-engine.el Fri Jan 22 14:50:35 2010 +0000 @@ -2996,9 +2996,11 @@ ;; containing point. We can then call `c-invalidate-state-cache-1' without ;; worrying further about macros and template delimiters. (c-with-<->-as-parens-suppressed - (if c-state-old-cpp-beg + (if (and c-state-old-cpp-beg + (< c-state-old-cpp-beg here)) (c-with-all-but-one-cpps-commented-out - c-state-old-cpp-beg c-state-old-cpp-end + c-state-old-cpp-beg + (min c-state-old-cpp-end here) (c-invalidate-state-cache-1 here)) (c-with-cpps-commented-out (c-invalidate-state-cache-1 here))))) @@ -3029,8 +3031,9 @@ (c-parse-state-1)) (c-with-cpps-commented-out (c-parse-state-1)))) - (setq c-state-old-cpp-beg here-cpp-beg - c-state-old-cpp-end here-cpp-end)))) + (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t)) + c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t))) + ))) ;; Debug tool to catch cache inconsistencies. This is called from ;; 000tests.el. diff -r 46c08e6b42d6 -r d3036620c45e lisp/term.el --- a/lisp/term.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/term.el Fri Jan 22 14:50:35 2010 +0000 @@ -1208,8 +1208,17 @@ (defun term-send-raw-meta () (interactive) - (let* ((keys (this-command-keys)) - (char (aref keys (1- (length keys))))) + (let ((char last-input-event)) + (when (symbolp last-input-event) + ;; Convert `return' to C-m, etc. + (let ((tmp (get char 'event-symbol-elements))) + (when tmp + (setq char (car tmp))) + (when (symbolp char) + (setq tmp (get char 'ascii-character)) + (when tmp + (setq char tmp))))) + (setq char (event-basic-type char)) (term-send-raw-string (if (and (numberp char) (> char 127) (< char 256)) diff -r 46c08e6b42d6 -r d3036620c45e lisp/textmodes/sgml-mode.el --- a/lisp/textmodes/sgml-mode.el Wed Jan 20 14:24:11 2010 +0000 +++ b/lisp/textmodes/sgml-mode.el Fri Jan 22 14:50:35 2010 +0000 @@ -608,11 +608,7 @@ "Insert a symbolic character name according to `sgml-char-names'." (interactive "*") (if sgml-name-8bit-mode - (let ((mc last-command-event)) - (if (< mc 256) - (setq mc (unibyte-char-to-multibyte mc))) - (or mc (setq mc last-command-event)) - (sgml-name-char mc)) + (sgml-name-char last-command-event) (self-insert-command 1))) (defun sgml-name-8bit-mode () diff -r 46c08e6b42d6 -r d3036620c45e src/ChangeLog --- a/src/ChangeLog Wed Jan 20 14:24:11 2010 +0000 +++ b/src/ChangeLog Fri Jan 22 14:50:35 2010 +0000 @@ -1,3 +1,16 @@ +2010-01-22 YAMAMOTO Mitsuharu + + * lisp.h (make_pure_string): String pointer arg now points to const. + + * alloc.c (find_string_data_in_pure, make_pure_string): String pointer + args now point to const. + +2010-01-22 Eli Zaretskii + + * lread.c (Fload): Don't treat files without .elc extension as + byte-compiled if they are ``magic'', i.e. `openp' returned -2 for + them. (bug#5303) + 2010-01-20 Kenichi Handa * coding.c (consume_chars): If ! multibyte and the encoder is ccl, diff -r 46c08e6b42d6 -r d3036620c45e src/alloc.c --- a/src/alloc.c Wed Jan 20 14:24:11 2010 +0000 +++ b/src/alloc.c Fri Jan 22 14:50:35 2010 +0000 @@ -4725,11 +4725,11 @@ static char * find_string_data_in_pure (data, nbytes) - char *data; + const char *data; int nbytes; { int i, skip, bm_skip[256], last_char_skip, infinity, start, start_max; - unsigned char *p; + const unsigned char *p; char *non_lisp_beg; if (pure_bytes_used_non_lisp < nbytes + 1) @@ -4740,7 +4740,7 @@ for (i = 0; i < 256; i++) bm_skip[i] = skip; - p = (unsigned char *) data; + p = (const unsigned char *) data; while (--skip > 0) bm_skip[*p++] = skip; @@ -4754,7 +4754,7 @@ infinity = pure_bytes_used_non_lisp + 1; bm_skip['\0'] = infinity; - p = (unsigned char *) non_lisp_beg + nbytes; + p = (const unsigned char *) non_lisp_beg + nbytes; start = 0; do { @@ -4796,7 +4796,7 @@ Lisp_Object make_pure_string (data, nchars, nbytes, multibyte) - char *data; + const char *data; int nchars, nbytes; int multibyte; { diff -r 46c08e6b42d6 -r d3036620c45e src/lisp.h --- a/src/lisp.h Wed Jan 20 14:24:11 2010 +0000 +++ b/src/lisp.h Fri Jan 22 14:50:35 2010 +0000 @@ -2686,7 +2686,7 @@ extern Lisp_Object make_string_from_bytes P_ ((const char *, int, int)); extern Lisp_Object make_specified_string P_ ((const char *, int, int, int)); EXFUN (Fpurecopy, 1); -extern Lisp_Object make_pure_string P_ ((char *, int, int, int)); +extern Lisp_Object make_pure_string P_ ((const char *, int, int, int)); extern Lisp_Object make_pure_c_string (const char *data); extern Lisp_Object pure_cons P_ ((Lisp_Object, Lisp_Object)); extern Lisp_Object make_pure_vector P_ ((EMACS_INT)); diff -r 46c08e6b42d6 -r d3036620c45e src/lread.c --- a/src/lread.c Wed Jan 20 14:24:11 2010 +0000 +++ b/src/lread.c Fri Jan 22 14:50:35 2010 +0000 @@ -1155,7 +1155,7 @@ if (!bcmp (SDATA (found) + SBYTES (found) - 4, ".elc", 4) - || (version = safe_to_load_p (fd)) > 0) + || (fd >= 0 && (version = safe_to_load_p (fd)) > 0)) /* Load .elc files directly, but not when they are remote and have no handler! */ {