Now on revision 105271. ------------------------------------------------------------ revno: 105271 committer: Andreas Schwab branch nick: emacs timestamp: Sun 2011-07-17 12:35:42 +0200 message: Fix last change diff: === modified file 'src/lread.c' --- src/lread.c 2011-07-17 10:29:24 +0000 +++ src/lread.c 2011-07-17 10:35:42 +0000 @@ -3010,7 +3010,7 @@ { char *p = read_buffer; int quoted = 0; - int start_position = readchar_count - 1; + EMACS_INT start_position = readchar_count - 1; { char *end = read_buffer + read_buffer_size; ------------------------------------------------------------ revno: 105270 committer: Andreas Schwab branch nick: emacs timestamp: Sun 2011-07-17 12:29:24 +0200 message: Make read-symbol-positions-list more accurate * src/lread.c (read_integer): Unread even EOF character. (read1): Likewise. Properly record start position of symbol. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-17 08:00:53 +0000 +++ src/ChangeLog 2011-07-17 10:29:24 +0000 @@ -1,5 +1,8 @@ 2011-07-17 Andreas Schwab + * lread.c (read_integer): Unread even EOF character. + (read1): Likewise. Properly record start position of symbol. + * lread.c (read1): Read `#:' as empty uninterned symbol if no symbol character follows. === modified file 'src/lread.c' --- src/lread.c 2011-07-17 08:00:53 +0000 +++ src/lread.c 2011-07-17 10:29:24 +0000 @@ -2327,8 +2327,7 @@ c = READCHAR; } - if (c >= 0) - UNREAD (c); + UNREAD (c); *p = '\0'; } @@ -2583,8 +2582,7 @@ nskip *= 10; nskip += c - '0'; } - if (c >= 0) - UNREAD (c); + UNREAD (c); if (load_force_doc_strings && (EQ (readcharfun, Qget_file_char) @@ -2663,12 +2661,11 @@ if (!(c > 040 && c != 0x8a0 && (c >= 0200 - || !(strchr ("\"';()[]#`,", c))))) + || strchr ("\"';()[]#`,", c) == NULL))) { /* No symbol character follows, this is the empty symbol. */ - if (c >= 0) - UNREAD (c); + UNREAD (c); return Fmake_symbol (build_string ("")); } goto read_symbol; @@ -2852,7 +2849,7 @@ next_char = READCHAR; ok = (next_char <= 040 || (next_char < 0200 - && (strchr ("\"';()[]#?`,.", next_char)))); + && strchr ("\"';()[]#?`,.", next_char) != NULL)); UNREAD (next_char); if (ok) return make_number (c); @@ -2977,11 +2974,6 @@ /* Otherwise, READ_BUFFER contains only ASCII. */ } - /* We want readchar_count to be the number of characters, not - bytes. Hence we adjust for multibyte characters in the - string. ... But it doesn't seem to be necessary, because - READCHAR *does* read multibyte characters from buffers. */ - /* readchar_count -= (p - read_buffer) - nchars; */ if (read_pure) return make_pure_string (read_buffer, nchars, p - read_buffer, (force_multibyte @@ -2998,7 +2990,7 @@ if (next_char <= 040 || (next_char < 0200 - && (strchr ("\"';([#?`,", next_char)))) + && strchr ("\"';([#?`,", next_char) != NULL)) { *pch = c; return Qnil; @@ -3018,6 +3010,7 @@ { char *p = read_buffer; int quoted = 0; + int start_position = readchar_count - 1; { char *end = read_buffer + read_buffer_size; @@ -3048,10 +3041,11 @@ else *p++ = c; c = READCHAR; - } while (c > 040 - && c != 0x8a0 /* NBSP */ - && (c >= 0200 - || !(strchr ("\"';()[]#`,", c)))); + } + while (c > 040 + && c != 0x8a0 /* NBSP */ + && (c >= 0200 + || strchr ("\"';()[]#`,", c) == NULL)); if (p == end) { @@ -3064,8 +3058,7 @@ end = read_buffer + read_buffer_size; } *p = 0; - if (c >= 0) - UNREAD (c); + UNREAD (c); } if (!quoted && !uninterned_symbol) @@ -3093,12 +3086,7 @@ if (EQ (Vread_with_symbol_positions, Qt) || EQ (Vread_with_symbol_positions, readcharfun)) Vread_symbol_positions_list = - /* Kind of a hack; this will probably fail if characters - in the symbol name were escaped. Not really a big - deal, though. */ - Fcons (Fcons (result, - make_number (readchar_count - - XFASTINT (Flength (Fsymbol_name (result))))), + Fcons (Fcons (result, make_number (start_position)), Vread_symbol_positions_list); return result; } ------------------------------------------------------------ revno: 105269 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-07-17 06:26:13 -0400 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/emacs-lisp/cl-loaddefs.el' --- lisp/emacs-lisp/cl-loaddefs.el 2011-07-15 17:21:57 +0000 +++ lisp/emacs-lisp/cl-loaddefs.el 2011-07-17 10:26:13 +0000 @@ -282,7 +282,7 @@ ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist ;;;;;; do* do loop return-from return block etypecase typecase ecase ;;;;;; case load-time-value eval-when destructuring-bind function* -;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "2261724608e3223036b863d214f7dc0c") +;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "9452c0e16fd960fce5c19e5c067a7160") ;;; Generated autoloads from cl-macs.el (autoload 'gensym "cl-macs" "\ ------------------------------------------------------------ revno: 105268 committer: Andreas Schwab branch nick: emacs timestamp: Sun 2011-07-17 10:00:53 +0200 message: * src/lread.c (read1): Read `#:' as empty uninterned symbol if no symbol character follows. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-17 01:18:51 +0000 +++ src/ChangeLog 2011-07-17 08:00:53 +0000 @@ -1,3 +1,8 @@ +2011-07-17 Andreas Schwab + + * lread.c (read1): Read `#:' as empty uninterned symbol if no + symbol character follows. + 2011-07-17 Paul Eggert * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) === modified file 'src/lread.c' --- src/lread.c 2011-07-15 12:57:20 +0000 +++ src/lread.c 2011-07-17 08:00:53 +0000 @@ -2660,7 +2660,18 @@ { uninterned_symbol = 1; c = READCHAR; - goto default_label; + if (!(c > 040 + && c != 0x8a0 + && (c >= 0200 + || !(strchr ("\"';()[]#`,", c))))) + { + /* No symbol character follows, this is the empty + symbol. */ + if (c >= 0) + UNREAD (c); + return Fmake_symbol (build_string ("")); + } + goto read_symbol; } /* Reader forms that can reuse previously read objects. */ if (c >= '0' && c <= '9') @@ -3002,6 +3013,8 @@ if (c <= 040) goto retry; if (c == 0x8a0) /* NBSP */ goto retry; + + read_symbol: { char *p = read_buffer; int quoted = 0; ------------------------------------------------------------ revno: 105267 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-17 04:21:43 +0200 message: (tags-search): Doc typo fix. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-17 00:45:56 +0000 +++ lisp/ChangeLog 2011-07-17 02:21:43 +0000 @@ -1,5 +1,7 @@ 2011-07-17 Lars Magne Ingebrigtsen + * progmodes/etags.el (tags-search): Doc typo fix. + * mail/smtpmail.el (smtpmail-via-smtp): Query the user for password if we get errors 550 to 554. === modified file 'lisp/progmodes/etags.el' --- lisp/progmodes/etags.el 2011-07-13 14:20:45 +0000 +++ lisp/progmodes/etags.el 2011-07-17 02:21:43 +0000 @@ -1860,7 +1860,7 @@ Stops when a match is found. To continue searching for next match, use command \\[tags-loop-continue]. -If `file-list-form' is non-nil, it should be a form that, when +If FILE-LIST-FORM is non-nil, it should be a form that, when evaluated, will return a list of file names. The search will be restricted to these files. ------------------------------------------------------------ revno: 105266 fixes bug(s): http://debbugs.gnu.org/9002 committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-07-16 18:18:51 -0700 message: * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) This works around a problem with the previous change to Fcopy_file. Recent glibc declares fchown with __attribute__((warn_unused_result)), and without this change, GCC might complain about discarding fchown's return value. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-16 23:40:44 +0000 +++ src/ChangeLog 2011-07-17 01:18:51 +0000 @@ -1,3 +1,11 @@ +2011-07-17 Paul Eggert + + * fileio.c (Fcopy_file): Pacify gcc re fchown. (Bug#9002) + This works around a problem with the previous change to Fcopy_file. + Recent glibc declares fchown with __attribute__((warn_unused_result)), + and without this change, GCC might complain about discarding + fchown's return value. + 2011-07-16 Juanma Barranquero * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). === modified file 'src/fileio.c' --- src/fileio.c 2011-07-16 21:53:38 +0000 +++ src/fileio.c 2011-07-17 01:18:51 +0000 @@ -38,6 +38,8 @@ #include #endif +#include + #include "lisp.h" #include "intervals.h" #include "buffer.h" @@ -1960,7 +1962,7 @@ if (input_file_statable_p) { if (!NILP (preserve_uid_gid)) - fchown (ofd, st.st_uid, st.st_gid); + ignore_value (fchown (ofd, st.st_uid, st.st_gid)); if (fchmod (ofd, st.st_mode & 07777) != 0) report_file_error ("Doing chmod", Fcons (newname, Qnil)); } ------------------------------------------------------------ revno: 105265 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-17 02:45:56 +0200 message: (smtpmail-via-smtp): Query the user for password if we get errors 550 to 554. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 22:49:20 +0000 +++ lisp/ChangeLog 2011-07-17 00:45:56 +0000 @@ -1,3 +1,8 @@ +2011-07-17 Lars Magne Ingebrigtsen + + * mail/smtpmail.el (smtpmail-via-smtp): Query the user for + password if we get errors 550 to 554. + 2011-07-16 Lars Magne Ingebrigtsen * net/gnutls.el (gnutls-log-level): Removed. === modified file 'lisp/mail/smtpmail.el' --- lisp/mail/smtpmail.el 2011-07-11 20:15:04 +0000 +++ lisp/mail/smtpmail.el 2011-07-17 00:45:56 +0000 @@ -788,10 +788,11 @@ nil) ((and auth-mechanisms (not ask-for-password) - (= (car result) 550)) - ;; We got a "550 relay not permitted", and the server - ;; accepts credentials, so we try again, but ask for a - ;; password first. + (>= (car result) 550) + (<= (car result) 554)) + ;; We got a "550 relay not permitted" (or the like), + ;; and the server accepts credentials, so we try + ;; again, but ask for a password first. (smtpmail-send-command process "QUIT") (smtpmail-read-response process) (delete-process process) ------------------------------------------------------------ revno: 105264 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2011-07-17 00:11:27 +0000 message: Merge changes made in Gnus trunk. message.el (message-auto-save-directory): If the ~/Mail directory doesn't exist, use ~ as the auto-save directory (bug#4432). gnus-group.el (gnus-group-read-ephemeral-group): Start Gnus if it hasn't already been started. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-07-15 23:16:19 +0000 +++ lisp/gnus/ChangeLog 2011-07-17 00:11:27 +0000 @@ -1,3 +1,11 @@ +2011-07-16 Lars Magne Ingebrigtsen + + * message.el (message-auto-save-directory): If the ~/Mail directory + doesn't exist, use ~ as the auto-save directory (bug#4432). + + * gnus-group.el (gnus-group-read-ephemeral-group): Start Gnus if it + hasn't already been started. + 2011-07-15 Lars Magne Ingebrigtsen * gnus.el (debbugs-gnu): Renamed from debbugs-emacs. === modified file 'lisp/gnus/gnus-group.el' --- lisp/gnus/gnus-group.el 2011-07-10 22:17:49 +0000 +++ lisp/gnus/gnus-group.el 2011-07-17 00:11:27 +0000 @@ -2282,6 +2282,8 @@ (gnus-group-completing-read) (gnus-read-method "From method"))) ;; Transform the select method into a unique server. + (unless (gnus-alive-p) + (gnus-no-server)) (when (stringp method) (setq method (gnus-server-to-method method))) (setq method === modified file 'lisp/gnus/message.el' --- lisp/gnus/message.el 2011-07-15 23:16:19 +0000 +++ lisp/gnus/message.el 2011-07-17 00:11:27 +0000 @@ -1310,7 +1310,9 @@ :type '(repeat function)) (defcustom message-auto-save-directory - (file-name-as-directory (expand-file-name "drafts" message-directory)) + (if (file-exists-p message-directory) + (file-name-as-directory (expand-file-name "drafts" message-directory)) + "~/") "*Directory where Message auto-saves buffers if Gnus isn't running. If nil, Message won't auto-save." :group 'message-buffers ------------------------------------------------------------ revno: 105263 committer: Juanma Barranquero branch nick: trunk timestamp: Sun 2011-07-17 01:40:44 +0200 message: src/makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-16 22:49:20 +0000 +++ src/ChangeLog 2011-07-16 23:40:44 +0000 @@ -1,3 +1,7 @@ +2011-07-16 Juanma Barranquero + + * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059). + 2011-07-16 Paul Eggert * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) === modified file 'src/makefile.w32-in' --- src/makefile.w32-in 2011-06-27 14:59:12 +0000 +++ src/makefile.w32-in 2011-07-16 23:40:44 +0000 @@ -221,7 +221,8 @@ syntax.c bytecode.c \ process.c callproc.c unexw32.c \ region-cache.c sound.c atimer.c \ - doprnt.c intervals.c textprop.c composite.c + doprnt.c intervals.c textprop.c composite.c \ + gnutls.c SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o obj = $(GLOBAL_SOURCES:.c=.o) ------------------------------------------------------------ revno: 105262 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sun 2011-07-17 00:49:20 +0200 message: Move the defintion of `gnutls-log-level' to the C level to avoid loading problems diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 20:05:54 +0000 +++ lisp/ChangeLog 2011-07-16 22:49:20 +0000 @@ -1,5 +1,7 @@ 2011-07-16 Lars Magne Ingebrigtsen + * net/gnutls.el (gnutls-log-level): Removed. + * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an indentation character (bug#6380). === modified file 'lisp/net/gnutls.el' --- lisp/net/gnutls.el 2011-07-15 17:41:24 +0000 +++ lisp/net/gnutls.el 2011-07-16 22:49:20 +0000 @@ -42,11 +42,6 @@ :prefix "gnutls-" :group 'net-utils) -(defcustom gnutls-log-level 0 - "Logging level to be used by `starttls-negotiate' and GnuTLS." - :type 'integer - :group 'gnutls) - (defcustom gnutls-algorithm-priority nil "If non-nil, this should be a TLS priority string. For instance, if you want to skip the \"dhe-rsa\" algorithm, === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-16 21:53:38 +0000 +++ src/ChangeLog 2011-07-16 22:49:20 +0000 @@ -4,6 +4,9 @@ 2011-07-16 Lars Magne Ingebrigtsen + * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since + it's used from the C level. + * process.c: Use the same condition for POLL_FOR_INPUT in both keyboard.c and process.c (bug#1858). === modified file 'src/gnutls.c' --- src/gnutls.c 2011-07-15 17:41:24 +0000 +++ src/gnutls.c 2011-07-16 22:49:20 +0000 @@ -35,7 +35,6 @@ emacs_gnutls_handle_error (gnutls_session_t, int err); static Lisp_Object Qgnutls_dll; -static Lisp_Object Qgnutls_log_level; static Lisp_Object Qgnutls_code; static Lisp_Object Qgnutls_anon, Qgnutls_x509pki; static Lisp_Object Qgnutls_e_interrupted, Qgnutls_e_again, @@ -146,7 +145,6 @@ init_gnutls_functions (Lisp_Object libraries) { HMODULE library; - Lisp_Object gnutls_log_level = Fsymbol_value (Qgnutls_log_level); int max_log_level = 1; if (!(library = w32_delayed_load (libraries, Qgnutls_dll))) @@ -195,8 +193,8 @@ LOAD_GNUTLS_FN (library, gnutls_x509_crt_import); LOAD_GNUTLS_FN (library, gnutls_x509_crt_init); - if (NUMBERP (gnutls_log_level)) - max_log_level = XINT (gnutls_log_level); + if (NUMBERP (Vgnutls_log_level)) + max_log_level = XINT (Vgnutls_log_level); GNUTLS_LOG2 (1, max_log_level, "GnuTLS library loaded:", SDATA (Fget (Qgnutls_dll, QCloaded_from))); @@ -399,7 +397,6 @@ static int emacs_gnutls_handle_error (gnutls_session_t session, int err) { - Lisp_Object gnutls_log_level = Fsymbol_value (Qgnutls_log_level); int max_log_level = 0; int ret; @@ -409,8 +406,8 @@ if (err >= 0) return 0; - if (NUMBERP (gnutls_log_level)) - max_log_level = XINT (gnutls_log_level); + if (NUMBERP (Vgnutls_log_level)) + max_log_level = XINT (Vgnutls_log_level); /* TODO: use gnutls-error-fatalp and gnutls-error-string. */ @@ -1118,7 +1115,6 @@ gnutls_global_initialized = 0; DEFSYM (Qgnutls_dll, "gnutls"); - DEFSYM (Qgnutls_log_level, "gnutls-log-level"); DEFSYM (Qgnutls_code, "gnutls-code"); DEFSYM (Qgnutls_anon, "gnutls-anon"); DEFSYM (Qgnutls_x509pki, "gnutls-x509pki"); @@ -1158,6 +1154,10 @@ defsubr (&Sgnutls_deinit); defsubr (&Sgnutls_bye); defsubr (&Sgnutls_available_p); + + DEFVAR_INT ("gnutls-log-level", Vgnutls_log_level, + doc: /* Logging level used by the GnuTLS functions. */); + Vgnutls_log_level = make_number (0); } #endif /* HAVE_GNUTLS */ ------------------------------------------------------------ revno: 105261 fixes bug(s): http://debbugs.gnu.org/9002 committer: Paul Eggert branch nick: trunk timestamp: Sat 2011-07-16 14:53:38 -0700 message: * fileio.c (Fcopy_file): Don't diagnose fchown failures. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-16 18:27:08 +0000 +++ src/ChangeLog 2011-07-16 21:53:38 +0000 @@ -1,3 +1,7 @@ +2011-07-16 Paul Eggert + + * fileio.c (Fcopy_file): Don't diagnose fchown failures. (Bug#9002) + 2011-07-16 Lars Magne Ingebrigtsen * process.c: Use the same condition for POLL_FOR_INPUT in both === modified file 'src/fileio.c' --- src/fileio.c 2011-07-04 17:50:12 +0000 +++ src/fileio.c 2011-07-16 21:53:38 +0000 @@ -1959,8 +1959,8 @@ owner and group. */ if (input_file_statable_p) { - if (!NILP (preserve_uid_gid) && fchown (ofd, st.st_uid, st.st_gid) != 0) - report_file_error ("Doing chown", Fcons (newname, Qnil)); + if (!NILP (preserve_uid_gid)) + fchown (ofd, st.st_uid, st.st_gid); if (fchmod (ofd, st.st_mode & 07777) != 0) report_file_error ("Doing chmod", Fcons (newname, Qnil)); } ------------------------------------------------------------ revno: 105260 fixes bug(s): http://debbugs.gnu.org/6380 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 22:05:54 +0200 message: Include EN DASH as an indentation character * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an indentation character. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 20:01:37 +0000 +++ lisp/ChangeLog 2011-07-16 20:05:54 +0000 @@ -1,5 +1,8 @@ 2011-07-16 Lars Magne Ingebrigtsen + * textmodes/fill.el (adaptive-fill-regexp): Include EN DASH as an + indentation character (bug#6380). + * files.el (buffer-offer-save): Made permanently local (bug#6241). * doc-view.el (doc-view-make-safe-dir): Rewrite the error message === modified file 'lisp/textmodes/fill.el' --- lisp/textmodes/fill.el 2011-07-02 21:42:49 +0000 +++ lisp/textmodes/fill.el 2011-07-16 20:05:54 +0000 @@ -93,7 +93,7 @@ ;; Added `!' for doxygen comments starting with `//!' or `/*!'. ;; Added `%' for TeX comments. ;; RMS: deleted the code to match `1.' and `(1)'. - (purecopy "[ \t]*\\([-!|#%;>*·•‣⁃◦]+[ \t]*\\)*") + (purecopy "[ \t]*\\([-–!|#%;>*·•‣⁃◦]+[ \t]*\\)*") "Regexp to match text at start of line that constitutes indentation. If Adaptive Fill mode is enabled, a prefix matching this pattern on the first and second lines of a paragraph is used as the ------------------------------------------------------------ revno: 105259 committer: Glenn Morris branch nick: trunk timestamp: Sat 2011-07-16 13:05:20 -0700 message: ChangeLog fix. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-07-16 17:58:16 +0000 +++ doc/lispref/ChangeLog 2011-07-16 20:05:20 +0000 @@ -1,7 +1,8 @@ 2011-07-16 Lars Magne Ingebrigtsen + Tim Cross (tiny change) + Glenn Morris - * keymaps.texi (Toolkit Differences): New node with text from Tim - Cross (tiny change) and Glenn Morris. + * keymaps.texi (Toolkit Differences): New node. (Bug#8176) 2011-07-15 Andreas Schwab ------------------------------------------------------------ revno: 105258 fixes bug(s): http://debbugs.gnu.org/6241 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 22:01:37 +0200 message: Make `buffer-offer-save' permanently local diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 19:38:25 +0000 +++ lisp/ChangeLog 2011-07-16 20:01:37 +0000 @@ -1,5 +1,7 @@ 2011-07-16 Lars Magne Ingebrigtsen + * files.el (buffer-offer-save): Made permanently local (bug#6241). + * doc-view.el (doc-view-make-safe-dir): Rewrite the error message to clarify what the problem is (bug#4291). === modified file 'lisp/files.el' --- lisp/files.el 2011-07-13 22:22:08 +0000 +++ lisp/files.el 2011-07-16 20:01:37 +0000 @@ -151,6 +151,7 @@ :type 'boolean :group 'backup) (make-variable-buffer-local 'buffer-offer-save) +(put 'buffer-offer-save 'permanent-local t) (defcustom find-file-existing-other-name t "Non-nil means find a file under alternative names, in existing buffers. ------------------------------------------------------------ revno: 105257 committer: Glenn Morris branch nick: trunk timestamp: Sat 2011-07-16 13:02:57 -0700 message: Grammar tweak. diff: === modified file 'doc/lispref/keymaps.texi' --- doc/lispref/keymaps.texi 2011-07-16 17:58:16 +0000 +++ doc/lispref/keymaps.texi 2011-07-16 20:02:57 +0000 @@ -2318,7 +2318,7 @@ the same set of features for menus. Some code works as expected with one toolkit, but not under another. -For example: menu actions or buttons in a top-level menu-bar. The +One example is menu actions or buttons in a top-level menu-bar. The following works with the Lucid toolkit or on MS Windows, but not with GTK or Nextstep, where clicking on the item has no effect. ------------------------------------------------------------ revno: 105256 fixes bug(s): http://debbugs.gnu.org/4291 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 21:38:25 +0200 message: Make docview error message clearer * doc-view.el (doc-view-make-safe-dir): Rewrite the error message to clarify what the problem is (bug#4291). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 18:42:38 +0000 +++ lisp/ChangeLog 2011-07-16 19:38:25 +0000 @@ -1,5 +1,8 @@ 2011-07-16 Lars Magne Ingebrigtsen + * doc-view.el (doc-view-make-safe-dir): Rewrite the error message + to clarify what the problem is (bug#4291). + * simple.el (current-kill): Clarify what `interprogram-paste-function' does (bug#7500). (auto-fill-mode): Document `auto-fill-function' in relation to === modified file 'lisp/doc-view.el' --- lisp/doc-view.el 2011-06-09 20:22:06 +0000 +++ lisp/doc-view.el 2011-07-16 19:38:25 +0000 @@ -569,18 +569,18 @@ (defun doc-view-make-safe-dir (dir) (condition-case nil (let ((umask (default-file-modes))) - (unwind-protect - (progn - ;; Create temp files with strict access rights. It's easy to - ;; loosen them later, whereas it's impossible to close the - ;; time-window of loose permissions otherwise. - (set-default-file-modes #o0700) - (make-directory dir)) - ;; Reset the umask. - (set-default-file-modes umask))) + (unwind-protect + (progn + ;; Create temp files with strict access rights. It's easy to + ;; loosen them later, whereas it's impossible to close the + ;; time-window of loose permissions otherwise. + (set-default-file-modes #o0700) + (make-directory dir)) + ;; Reset the umask. + (set-default-file-modes umask))) (file-already-exists - (if (file-symlink-p dir) - (error "Danger: %s points to a symbolic link" dir)) + (when (file-symlink-p dir) + (error "Danger: %s points to a symbolic link" dir)) ;; In case it was created earlier with looser rights. ;; We could check the mode info returned by file-attributes, but it's ;; a pain to parse and it may not tell you what we want under @@ -589,7 +589,12 @@ ;; This also ends up checking a bunch of useful conditions: it makes ;; sure we have write-access to the directory and that we own it, thus ;; closing a bunch of security holes. - (set-file-modes dir #o0700)))) + (condition-case error + (set-file-modes dir #o0700) + (file-error + (error + (format "Unable to use temporary directory %s: %s" + dir (mapconcat 'identity (cdr error) " ")))))))) (defun doc-view-current-cache-dir () "Return the directory where the png files of the current doc should be saved. ------------------------------------------------------------ revno: 105255 fixes bug(s): http://debbugs.gnu.org/2470 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 20:42:38 +0200 message: Document `auto-fill-function' in relation to `auto-fill-mode' diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 18:39:01 +0000 +++ lisp/ChangeLog 2011-07-16 18:42:38 +0000 @@ -2,6 +2,8 @@ * simple.el (current-kill): Clarify what `interprogram-paste-function' does (bug#7500). + (auto-fill-mode): Document `auto-fill-function' in relation to + `auto-fill-mode' (bug#2470). 2011-07-16 Lawrence Mitchell === modified file 'lisp/simple.el' --- lisp/simple.el 2011-07-16 18:39:01 +0000 +++ lisp/simple.el 2011-07-16 18:42:38 +0000 @@ -5237,14 +5237,16 @@ ;; auto-fill-function to nil in a file-local setting is safe and ;; can be useful to prevent auto-filling. (put 'auto-fill-function 'safe-local-variable 'null) -;; FIXME: turn into a proper minor mode. -;; Add a global minor mode version of it. + (define-minor-mode auto-fill-mode "Toggle Auto Fill mode. With ARG, turn Auto Fill mode on if and only if ARG is positive. In Auto Fill mode, inserting a space at a column beyond `current-fill-column' automatically breaks the line at a previous space. +When `auto-fill-mode' is on, the `auto-fill-function' variable is +non-`nil'. + The value of `normal-auto-fill-function' specifies the function to use for `auto-fill-function' when turning Auto Fill mode on." :variable (eq auto-fill-function normal-auto-fill-function)) ------------------------------------------------------------ revno: 105254 fixes bug(s): http://debbugs.gnu.org/7500 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 20:39:01 +0200 message: * simple.el (current-kill): Clarify what `interprogram-paste-function' does. Apparently I forgot to check in simple.el last time and just checked in the ChangeLog. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 15:52:46 +0000 +++ lisp/ChangeLog 2011-07-16 18:39:01 +0000 @@ -1,3 +1,8 @@ +2011-07-16 Lars Magne Ingebrigtsen + + * simple.el (current-kill): Clarify what + `interprogram-paste-function' does (bug#7500). + 2011-07-16 Lawrence Mitchell * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf === modified file 'lisp/simple.el' --- lisp/simple.el 2011-07-13 23:35:36 +0000 +++ lisp/simple.el 2011-07-16 18:39:01 +0000 @@ -3056,10 +3056,11 @@ (defun current-kill (n &optional do-not-move) "Rotate the yanking point by N places, and then return that kill. -If N is zero, `interprogram-paste-function' is set, and calling -it returns a string or list of strings, then that string (or -list) is added to the front of the kill ring and the string (or -first string in the list) is returned as the latest kill. +If N is zero and `interprogram-paste-function' is set to a +function that returns a string or a list of strings, and if that +function doesn't return nil, then that string (or list) is added +to the front of the kill ring and the string (or first string in +the list) is returned as the latest kill. If N is not zero, and if `yank-pop-change-selection' is non-nil, use `interprogram-cut-function' to transfer the ------------------------------------------------------------ revno: 105253 fixes bug(s): http://debbugs.gnu.org/1858 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 20:27:08 +0200 message: Use the same condition for POLL_FOR_INPUT in both keyboard.c and process.c diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-15 17:41:24 +0000 +++ src/ChangeLog 2011-07-16 18:27:08 +0000 @@ -1,3 +1,8 @@ +2011-07-16 Lars Magne Ingebrigtsen + + * process.c: Use the same condition for POLL_FOR_INPUT in both + keyboard.c and process.c (bug#1858). + 2011-07-09 Lawrence Mitchell * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable. === modified file 'src/process.c' --- src/process.c 2011-07-06 18:04:23 +0000 +++ src/process.c 2011-07-16 18:27:08 +0000 @@ -245,7 +245,7 @@ /* If we support a window system, turn on the code to poll periodically to detect C-g. It isn't actually used when doing interrupt input. */ -#ifdef HAVE_WINDOW_SYSTEM +#if defined(HAVE_WINDOW_SYSTEM) && !defined(USE_ASYNC_EVENTS) #define POLL_FOR_INPUT #endif ------------------------------------------------------------ revno: 105252 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 19:58:16 +0200 message: Document toolkit differences for menus (Toolkit Differences): New node with text from Tim Cross (tiny change) and Glenn Morris. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-07-15 18:43:23 +0000 +++ doc/lispref/ChangeLog 2011-07-16 17:58:16 +0000 @@ -1,3 +1,8 @@ +2011-07-16 Lars Magne Ingebrigtsen + + * keymaps.texi (Toolkit Differences): New node with text from Tim + Cross (tiny change) and Glenn Morris. + 2011-07-15 Andreas Schwab * help.texi (Keys in Documentation): Revert last change. === modified file 'doc/lispref/keymaps.texi' --- doc/lispref/keymaps.texi 2011-07-13 23:17:24 +0000 +++ doc/lispref/keymaps.texi 2011-07-16 17:58:16 +0000 @@ -2019,8 +2019,10 @@ various features. * Menu Separators:: Drawing a horizontal line through a menu. * Alias Menu Items:: Using command aliases in menu items. +* Toolkit Differences:: Not all toolkits provide the same features. @end menu + @node Simple Menu Items @subsubsection Simple Menu Items @@ -2309,6 +2311,28 @@ causes menu items for @code{make-read-only} and @code{make-writable} to show the keyboard bindings for @code{toggle-read-only}. +@node Toolkit Differences +@subsubsection Toolkit Differences + +The various toolkits with which you can build Emacs do not all support +the same set of features for menus. Some code works as expected with +one toolkit, but not under another. + +For example: menu actions or buttons in a top-level menu-bar. The +following works with the Lucid toolkit or on MS Windows, but not with +GTK or Nextstep, where clicking on the item has no effect. + +@example +(defun menu-action-greet () + (interactive) + (message "Hello Emacs User!")) + +(defun top-level-menu () + (interactive) + (define-key lisp-interaction-mode-map [menu-bar m] + '(menu-item "Action Button" menu-action-greet))) +@end example + @node Mouse Menus @subsection Menus and the Mouse ------------------------------------------------------------ revno: 105251 tags: mh-e-8.2.92 committer: Bill Wohler branch nick: trunk timestamp: Sat 2011-07-16 09:16:34 -0700 message: * mh-e.el (Version, mh-version): Update for release 8.2.92. diff: === modified file 'lisp/mh-e/ChangeLog' --- lisp/mh-e/ChangeLog 2011-07-12 04:52:40 +0000 +++ lisp/mh-e/ChangeLog 2011-07-16 16:16:34 +0000 @@ -1,3 +1,9 @@ +2011-07-16 Bill Wohler + + Release MH-E version 8.2.92. + + * mh-e.el (Version, mh-version): Update for release 8.2.92. + 2011-07-12 Bill Wohler Release MH-E version 8.2.91. === modified file 'lisp/mh-e/mh-e.el' --- lisp/mh-e/mh-e.el 2011-07-12 04:52:40 +0000 +++ lisp/mh-e/mh-e.el 2011-07-16 16:16:34 +0000 @@ -5,7 +5,7 @@ ;; Author: Bill Wohler ;; Maintainer: Bill Wohler -;; Version: 8.2.91 +;; Version: 8.2.92 ;; Keywords: mail ;; This file is part of GNU Emacs. @@ -127,7 +127,7 @@ ;; Try to keep variables local to a single file. Provide accessors if ;; variables are shared. Use this section as a last resort. -(defconst mh-version "8.2.91" "Version number of MH-E.") +(defconst mh-version "8.2.92" "Version number of MH-E.") ;; Variants ------------------------------------------------------------ revno: 105250 committer: Bill Wohler branch nick: trunk timestamp: Sat 2011-07-16 09:15:43 -0700 message: * NEWS, MH-E-NEWS: Update for MH-E release 8.2.92. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2011-07-12 04:54:15 +0000 +++ etc/ChangeLog 2011-07-16 16:15:43 +0000 @@ -1,3 +1,9 @@ +2011-07-16 Bill Wohler + + Release MH-E version 8.2.92. + + * NEWS, MH-E-NEWS: Update for MH-E release 8.2.92. + 2011-07-12 Bill Wohler Release MH-E version 8.2.91. === modified file 'etc/MH-E-NEWS' --- etc/MH-E-NEWS 2011-07-12 04:54:15 +0000 +++ etc/MH-E-NEWS 2011-07-16 16:15:43 +0000 @@ -3,6 +3,11 @@ Copyright (C) 2001-2011 Free Software Foundation, Inc. See the end of the file for license conditions. +* Changes in MH-E 8.2.92 + +Version 8.2.92 actually corrects the error in the modeline glyph when +running XEmacs 21.5.31 in a terminal. + * Changes in MH-E 8.2.91 Version 8.2.91 fixes the folder window problem that was introduced @@ -14,8 +19,6 @@ `load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the addition of "trunk." -This version of MH-E is packaged with GNU Emacs 24.1 - * Changes in MH-E 8.2.90 In 2010, the version control system (VCS) of Emacs was upgraded from @@ -32,6 +35,15 @@ Also, RFC 2047-encoded Subject header fields in replies are now decoded. +This version of MH-E is packaged with GNU Emacs 24.1 + +** Bug Fixes in MH-E 8.2.90 + +*** Make mh-showing a legitimate minor mode + +The `mh-showing-mode' variable is now defined with `define-minor-mode' +(closes SF #482666). + * Changes in MH-E 8.2 === modified file 'etc/NEWS' --- etc/NEWS 2011-07-14 17:28:42 +0000 +++ etc/NEWS 2011-07-16 16:15:43 +0000 @@ -488,7 +488,7 @@ ** MH-E -*** Upgraded to MH-E version 8.2.91. See MH-E-NEWS for details. +*** Upgraded to MH-E version 8.2.92. See MH-E-NEWS for details. ** comint and modes derived from it use the generic completion code. ------------------------------------------------------------ revno: 105249 fixes bug(s): http://debbugs.gnu.org/9035 author: Lawrence Mitchell committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Sat 2011-07-16 17:52:46 +0200 message: Silence byte-compiler warning with :read-only defstruct slots * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf method if slot is read-only. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-16 13:02:51 +0000 +++ lisp/ChangeLog 2011-07-16 15:52:46 +0000 @@ -1,3 +1,8 @@ +2011-07-16 Lawrence Mitchell + + * emacs-lisp/cl-macs.el (defstruct): Ignore argument to setf + method if slot is read-only (bug#9035). + 2011-07-16 Martin Rudalics * frame.el (select-frame-set-input-focus): New argument === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2011-07-15 16:01:18 +0000 +++ lisp/emacs-lisp/cl-macs.el 2011-07-16 15:52:46 +0000 @@ -2396,8 +2396,10 @@ (push (cons accessor t) side-eff) (push (list 'define-setf-method accessor '(cl-x) (if (cadr (memq :read-only (cddr desc))) - (list 'error (format "%s is a read-only slot" - accessor)) + (list 'progn '(ignore cl-x) + (list 'error + (format "%s is a read-only slot" + 'accessor))) ;; If cl is loaded only for compilation, ;; the call to cl-struct-setf-expander would ;; cause a warning because it may not be ------------------------------------------------------------ revno: 105248 committer: martin rudalics branch nick: trunk timestamp: Sat 2011-07-16 15:02:51 +0200 message: To fixes wrt window selection and buffer list. * frame.el (select-frame-set-input-focus): New argument NORECORD. * window.el (pop-to-buffer): Select window used even if it was selected before, see discussion of (Bug#8615), (Bug#6954). Pass argument NORECORD on to select-frame-set-input-focus. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-15 23:59:25 +0000 +++ lisp/ChangeLog 2011-07-16 13:02:51 +0000 @@ -1,3 +1,11 @@ +2011-07-16 Martin Rudalics + + * frame.el (select-frame-set-input-focus): New argument + NORECORD. + * window.el (pop-to-buffer): Select window used even if it was + selected before, see discussion of (Bug#8615), (Bug#6954). Pass + argument NORECORD on to select-frame-set-input-focus. + 2011-07-15 Glenn Morris * subr.el (read-char-choice): Allow quitting. (Bug#9001) === modified file 'lisp/frame.el' --- lisp/frame.el 2011-07-06 02:42:10 +0000 +++ lisp/frame.el 2011-07-16 13:02:51 +0000 @@ -747,12 +747,15 @@ (declare-function x-focus-frame "xfns.c" (frame)) -(defun select-frame-set-input-focus (frame) +(defun select-frame-set-input-focus (frame &optional norecord) "Select FRAME, raise it, and set input focus, if possible. If `mouse-autoselect-window' is non-nil, also move mouse pointer to FRAME's selected window. Otherwise, if `focus-follows-mouse' -is non-nil, move mouse cursor to FRAME." - (select-frame frame) +is non-nil, move mouse cursor to FRAME. + +Optional argument NORECORD means to neither change the order of +recently selected windows nor the buffer list." + (select-frame frame norecord) (raise-frame frame) ;; Ensure, if possible, that FRAME gets input focus. (when (memq (window-system frame) '(x w32 ns)) === modified file 'lisp/window.el' --- lisp/window.el 2011-07-15 07:12:09 +0000 +++ lisp/window.el 2011-07-16 13:02:51 +0000 @@ -3272,7 +3272,7 @@ (defun split-window-side-by-side (&optional size) "Split selected window into two windows side by side. The selected window becomes the left one and gets SIZE columns. -SIZE negative means the right window gets -SIZE lines. +SIZE negative means the right window gets -SIZE columns. SIZE includes the width of the window's scroll bar; if there are no scroll bars, it includes the width of the divider column to @@ -5836,15 +5836,13 @@ new-window new-frame) (set-buffer buffer) (setq new-window (display-buffer buffer specifiers label)) - (unless (eq new-window old-window) - ;; `display-buffer' has chosen another window, select it. - (select-window new-window norecord) - (setq new-frame (window-frame new-window)) - (unless (eq new-frame old-frame) - ;; `display-buffer' has chosen another frame, make sure it gets - ;; input focus and is risen. - (select-frame-set-input-focus new-frame))) - + (setq new-frame (window-frame new-window)) + (if (eq old-frame new-frame) + ;; Make sure new-window gets selected (Bug#8615), (Bug#6954). + (select-window new-window norecord) + ;; `display-buffer' has chosen another frame, make sure it gets + ;; input focus and is risen. + (select-frame-set-input-focus new-frame norecord)) buffer)) (defsubst pop-to-buffer-same-window (&optional buffer-or-name norecord label) ------------------------------------------------------------ revno: 105247 committer: Glenn Morris branch nick: trunk timestamp: Fri 2011-07-15 19:59:25 -0400 message: * lisp/subr.el (read-char-choice): Respect help-form. (Bug#9001) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-15 22:53:39 +0000 +++ lisp/ChangeLog 2011-07-15 23:59:25 +0000 @@ -1,6 +1,7 @@ 2011-07-15 Glenn Morris * subr.el (read-char-choice): Allow quitting. (Bug#9001) + Respect help-form. 2011-07-09 Lawrence Mitchell === modified file 'lisp/subr.el' --- lisp/subr.el 2011-07-15 22:53:39 +0000 +++ lisp/subr.el 2011-07-15 23:59:25 +0000 @@ -2145,25 +2145,34 @@ keyboard-quit events while waiting for a valid input." (unless (consp chars) (error "Called `read-char-choice' without valid char choices")) - (let (char done) + (let (char done show-help (helpbuf " *Char Help*")) (let ((cursor-in-echo-area t) (executing-kbd-macro executing-kbd-macro)) - (while (not done) - (unless (get-text-property 0 'face prompt) - (setq prompt (propertize prompt 'face 'minibuffer-prompt))) - (setq char (let ((inhibit-quit inhibit-keyboard-quit)) - (read-key prompt))) - (cond - ((not (numberp char))) - ((memq char chars) - (setq done t)) - ((and executing-kbd-macro (= char -1)) - ;; read-event returns -1 if we are in a kbd macro and - ;; there are no more events in the macro. Attempt to - ;; get an event interactively. - (setq executing-kbd-macro nil)) - ((and (not inhibit-keyboard-quit) (eq char ?\C-g)) - (keyboard-quit))))) + (save-window-excursion ; in case we call help-form-show + (while (not done) + (unless (get-text-property 0 'face prompt) + (setq prompt (propertize prompt 'face 'minibuffer-prompt))) + (setq char (let ((inhibit-quit inhibit-keyboard-quit)) + (read-key prompt))) + (and show-help (buffer-live-p helpbuf) + (kill-buffer helpbuf)) + (cond + ((not (numberp char))) + ;; If caller has set help-form, that's enough. + ;; They don't explicitly have to add help-char to chars. + ((and help-form + (eq char help-char) + (setq show-help t) + (help-form-show))) + ((memq char chars) + (setq done t)) + ((and executing-kbd-macro (= char -1)) + ;; read-event returns -1 if we are in a kbd macro and + ;; there are no more events in the macro. Attempt to + ;; get an event interactively. + (setq executing-kbd-macro nil)) + ((and (not inhibit-keyboard-quit) (eq char ?\C-g)) + (keyboard-quit)))))) ;; Display the question with the answer. But without cursor-in-echo-area. (message "%s%s" prompt (char-to-string char)) char))