From c17d5a38db885685aa57bf5560e9dedb1f494819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= Date: Sun, 12 Aug 2012 11:31:53 +0200 Subject: [PATCH 01/25] Backports for 1995-05-29T20:16:10Z!kwzh@gnu.org, 1995-05-03T21:38:13Z!rms@gnu.org and 1995-05-31T19:46:12Z!kwzh@gnu.org. * nsmenu.m (ns_update_menubar): Add braces to ambigous if-else. * nsmenu.m (Popdown_data): New struct. (pop_down_menu): p->pointer is Popdown_data. Release the pool and free Popdown_data. (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu. (initWithContentRect): Make imgView and contentView non-static and autorelease them. Also autorelease img and matrix. (dealloc): Remove (Bug#1995-05-29T20:16:10Z!kwzh@gnu.org). * nsterm.m (keyDown:): Interpret flags without left/right bits as the left key (Bug#1995-05-03T21:38:13Z!rms@gnu.org). * nsterm.m (ns_read_socket): Return early if there is a modal window (Bug#1995-05-31T19:46:12Z!kwzh@gnu.org). --- src/ChangeLog | 18 +++++++++++++ src/nsmenu.m | 75 ++++++++++++++++++++++++++++++++------------------- src/nsterm.m | 31 ++++++++++++++++----- 3 files changed, 91 insertions(+), 33 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 963179cb08f..3a0ea19c1b1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,21 @@ +2012-08-12 Jan Djärv + + * nsterm.m (ns_read_socket): Return early if there is a modal + window (Bug#12043). + + * nsmenu.m (Popdown_data): New struct. + (pop_down_menu): p->pointer is Popdown_data. Release the pool and + free Popdown_data. + (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu. + (initWithContentRect): Make imgView and contentView non-static + and autorelease them. Also autorelease img and matrix (Bug#12005). + (dealloc): Remove (Bug#12005). + + * nsterm.m (keyDown:): Interpret flags without left/right bits + as the left key (Bug#11670). + + * nsmenu.m (ns_update_menubar): Add braces to ambigous if-else. + 2012-08-08 YAMAMOTO Mitsuharu * unexmacosx.c (copy_data_segment): Copy initialized data in diff --git a/src/nsmenu.m b/src/nsmenu.m index 7a6434941d2..1fb795243ae 100644 --- a/src/nsmenu.m +++ b/src/nsmenu.m @@ -422,11 +422,13 @@ ns_update_menubar (struct frame *f, int deep_p, EmacsMenu *submenu) if (EQ (string, make_number (0))) // FIXME: Why??? --Stef continue; if (NILP (string)) - if (previous_strings[i][0]) - break; - else - continue; - if (strncmp (previous_strings[i], SDATA (string), 10)) + { + if (previous_strings[i][0]) + break; + else + continue; + } + else if (strncmp (previous_strings[i], SDATA (string), 10)) break; } @@ -1346,20 +1348,32 @@ update_frame_tool_bar (FRAME_PTR f) ========================================================================== */ +struct Popdown_data +{ + NSAutoreleasePool *pool; + EmacsDialogPanel *dialog; +}; static Lisp_Object pop_down_menu (Lisp_Object arg) { struct Lisp_Save_Value *p = XSAVE_VALUE (arg); + struct Popdown_data *unwind_data = (struct Popdown_data *) p->pointer; + + BLOCK_INPUT; if (popup_activated_flag) { + EmacsDialogPanel *panel = unwind_data->dialog; popup_activated_flag = 0; - BLOCK_INPUT; [NSApp endModalSession: popupSession]; - [((EmacsDialogPanel *) (p->pointer)) close]; + [panel close]; + [unwind_data->pool release]; [[FRAME_NS_VIEW (SELECTED_FRAME ()) window] makeKeyWindow]; - UNBLOCK_INPUT; } + + xfree (unwind_data); + UNBLOCK_INPUT; + return Qnil; } @@ -1372,6 +1386,7 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header) struct frame *f; NSPoint p; BOOL isQ; + NSAutoreleasePool *pool; NSTRACE (x-popup-dialog); @@ -1426,11 +1441,17 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header) contents = Fcons (title, Fcons (Fcons (build_string ("Ok"), Qt), Qnil)); BLOCK_INPUT; + pool = [[NSAutoreleasePool alloc] init]; dialog = [[EmacsDialogPanel alloc] initFromContents: contents isQuestion: isQ]; { int specpdl_count = SPECPDL_INDEX (); - record_unwind_protect (pop_down_menu, make_save_value (dialog, 0)); + struct Popdown_data *unwind_data = xmalloc (sizeof (*unwind_data)); + + unwind_data->pool = pool; + unwind_data->dialog = dialog; + + record_unwind_protect (pop_down_menu, make_save_value (unwind_data, 0)); popup_activated_flag = 1; tem = [dialog runDialogAt: p]; unbind_to (specpdl_count, Qnil); /* calls pop_down_menu */ @@ -1473,24 +1494,22 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header) NSRect area; char this_cmd_name[80]; id cell; - static NSImageView *imgView; - static FlippedView *contentView; + NSImageView *imgView; + FlippedView *contentView; + NSImage *img; - if (imgView == nil) - { - NSImage *img; - area.origin.x = 3*SPACER; - area.origin.y = 2*SPACER; - area.size.width = ICONSIZE; - area.size.height= ICONSIZE; - img = [[NSImage imageNamed: @"NSApplicationIcon"] copy]; - [img setScalesWhenResized: YES]; - [img setSize: NSMakeSize (ICONSIZE, ICONSIZE)]; - imgView = [[NSImageView alloc] initWithFrame: area]; - [imgView setImage: img]; - [imgView setEditable: NO]; - [img release]; - } + area.origin.x = 3*SPACER; + area.origin.y = 2*SPACER; + area.size.width = ICONSIZE; + area.size.height= ICONSIZE; + img = [[NSImage imageNamed: @"NSApplicationIcon"] copy]; + [img setScalesWhenResized: YES]; + [img setSize: NSMakeSize (ICONSIZE, ICONSIZE)]; + imgView = [[NSImageView alloc] initWithFrame: area]; + [imgView setImage: img]; + [imgView setEditable: NO]; + [img autorelease]; + [imgView autorelease]; aStyle = NSTitledWindowMask; flag = YES; @@ -1499,6 +1518,8 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header) [super initWithContentRect: contentRect styleMask: aStyle backing: backingType defer: flag]; contentView = [[FlippedView alloc] initWithFrame: [[self contentView] frame]]; + [contentView autorelease]; + [self setContentView: contentView]; [[self contentView] setAutoresizesSubviews: YES]; @@ -1550,7 +1571,7 @@ ns_popup_dialog (Lisp_Object position, Lisp_Object contents, Lisp_Object header) numberOfRows: 0 numberOfColumns: 1]; [[self contentView] addSubview: matrix]; - [matrix release]; + [matrix autorelease]; [matrix setFrameOrigin: NSMakePoint (area.origin.x, area.origin.y + (TEXTHEIGHT+3*SPACER))]; [matrix setIntercellSpacing: spacing]; diff --git a/src/nsterm.m b/src/nsterm.m index aad1f3283d6..33318315889 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -3397,6 +3397,9 @@ ns_read_socket (struct terminal *terminal, int expected, /* NSTRACE (ns_read_socket); */ + if ([NSApp modalWindow] != nil) + return -1; + if (interrupt_input_blocked) { interrupt_input_pending = 1; @@ -4731,6 +4734,8 @@ ns_term_shutdown (int sig) if (!processingCompose) { + int is_left_key, is_right_key; + code = ([[theEvent charactersIgnoringModifiers] length] == 0) ? 0 : [[theEvent charactersIgnoringModifiers] characterAtIndex: 0]; /* (Carbon way: [theEvent keyCode]) */ @@ -4757,13 +4762,17 @@ ns_term_shutdown (int sig) if (flags & NSShiftKeyMask) emacs_event->modifiers |= shift_modifier; - if ((flags & NSRightCommandKeyMask) == NSRightCommandKeyMask) + is_right_key = (flags & NSRightCommandKeyMask) == NSRightCommandKeyMask; + is_left_key = (flags & NSLeftCommandKeyMask) == NSLeftCommandKeyMask + || (! is_right_key && (flags & NSCommandKeyMask) == NSCommandKeyMask); + + if (is_right_key) emacs_event->modifiers |= parse_solitary_modifier (EQ (ns_right_command_modifier, Qleft) ? ns_command_modifier : ns_right_command_modifier); - if ((flags & NSLeftCommandKeyMask) == NSLeftCommandKeyMask) + if (is_left_key) { emacs_event->modifiers |= parse_solitary_modifier (ns_command_modifier); @@ -4800,13 +4809,17 @@ ns_term_shutdown (int sig) } } - if ((flags & NSRightControlKeyMask) == NSRightControlKeyMask) + is_right_key = (flags & NSRightControlKeyMask) == NSRightControlKeyMask; + is_left_key = (flags & NSLeftControlKeyMask) == NSLeftControlKeyMask + || (! is_right_key && (flags & NSControlKeyMask) == NSControlKeyMask); + + if (is_right_key) emacs_event->modifiers |= parse_solitary_modifier (EQ (ns_right_control_modifier, Qleft) ? ns_control_modifier : ns_right_control_modifier); - if ((flags & NSLeftControlKeyMask) == NSLeftControlKeyMask) + if (is_left_key) emacs_event->modifiers |= parse_solitary_modifier (ns_control_modifier); @@ -4817,7 +4830,13 @@ ns_term_shutdown (int sig) left_is_none = NILP (ns_alternate_modifier) || EQ (ns_alternate_modifier, Qnone); - if ((flags & NSRightAlternateKeyMask) == NSRightAlternateKeyMask) + is_right_key = (flags & NSRightAlternateKeyMask) + == NSRightAlternateKeyMask; + is_left_key = (flags & NSLeftAlternateKeyMask) == NSLeftAlternateKeyMask + || (! is_right_key + && (flags & NSAlternateKeyMask) == NSAlternateKeyMask); + + if (is_right_key) { if ((NILP (ns_right_alternate_modifier) || EQ (ns_right_alternate_modifier, Qnone) @@ -4837,7 +4856,7 @@ ns_term_shutdown (int sig) : ns_right_alternate_modifier); } - if ((flags & NSLeftAlternateKeyMask) == NSLeftAlternateKeyMask) /* default = meta */ + if (is_left_key) /* default = meta */ { if (left_is_none && !fnKeysym) { /* accept pre-interp alt comb */ From 170aedb97ebee3edb81d2c447e6baa465978b03f Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 13 Aug 2012 13:11:19 +0800 Subject: [PATCH 02/25] Backport fix for Bug#11677 from trunk --- src/ChangeLog | 6 ++++++ src/window.c | 40 +++++++++++++++++++++++----------------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3a0ea19c1b1..96c6d244bd1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-08-13 Eli Zaretskii + + * window.c (Fdelete_other_windows_internal) + (Fdelete_window_internal): Don't access frame's mouse highlight + info of the initial frame. (Bug#11677) + 2012-08-12 Jan Djärv * nsterm.m (ns_read_socket): Return early if there is a modal diff --git a/src/window.c b/src/window.c index ae8d209df74..f05bba8aedf 100644 --- a/src/window.c +++ b/src/window.c @@ -2565,7 +2565,6 @@ window-start value is reasonable when this function is called. */) Lisp_Object sibling, pwindow, swindow IF_LINT (= Qnil), delta; EMACS_INT startpos IF_LINT (= 0); int top IF_LINT (= 0), new_top, resize_failed; - Mouse_HLInfo *hlinfo; w = decode_any_window (window); CHECK_LIVE_FRAME (w->frame); @@ -2648,19 +2647,23 @@ window-start value is reasonable when this function is called. */) } BLOCK_INPUT; - hlinfo = MOUSE_HL_INFO (f); - /* We are going to free the glyph matrices of WINDOW, and with that - we might lose any information about glyph rows that have some of - their glyphs highlighted in mouse face. (These rows are marked - with a non-zero mouse_face_p flag.) If WINDOW indeed has some - glyphs highlighted in mouse face, signal to frame's up-to-date - hook that mouse highlight was overwritten, so that it will - arrange for redisplaying the highlight. */ - if (EQ (hlinfo->mouse_face_window, window)) + if (!FRAME_INITIAL_P (f)) { - hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1; - hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1; - hlinfo->mouse_face_window = Qnil; + Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); + + /* We are going to free the glyph matrices of WINDOW, and with + that we might lose any information about glyph rows that have + some of their glyphs highlighted in mouse face. (These rows + are marked with a non-zero mouse_face_p flag.) If WINDOW + indeed has some glyphs highlighted in mouse face, signal to + frame's up-to-date hook that mouse highlight was overwritten, + so that it will arrange for redisplaying the highlight. */ + if (EQ (hlinfo->mouse_face_window, window)) + { + hlinfo->mouse_face_beg_row = hlinfo->mouse_face_beg_col = -1; + hlinfo->mouse_face_end_row = hlinfo->mouse_face_end_col = -1; + hlinfo->mouse_face_window = Qnil; + } } free_window_matrices (r); @@ -3903,7 +3906,6 @@ Signal an error when WINDOW is the only window on its frame. */) && EQ (r->new_total, (horflag ? r->total_cols : r->total_lines))) /* We can delete WINDOW now. */ { - Mouse_HLInfo *hlinfo; /* Block input. */ BLOCK_INPUT; @@ -3911,9 +3913,13 @@ Signal an error when WINDOW is the only window on its frame. */) /* If this window is referred to by the dpyinfo's mouse highlight, invalidate that slot to be safe (Bug#9904). */ - hlinfo = MOUSE_HL_INFO (XFRAME (w->frame)); - if (EQ (hlinfo->mouse_face_window, window)) - hlinfo->mouse_face_window = Qnil; + if (!FRAME_INITIAL_P (f)) + { + Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); + + if (EQ (hlinfo->mouse_face_window, window)) + hlinfo->mouse_face_window = Qnil; + } windows_or_buffers_changed++; Vwindow_list = Qnil; From 4432d2e25bc56cd06c9ed0c987d6570b2d57f230 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Tue, 14 Aug 2012 01:22:42 +0800 Subject: [PATCH 03/25] * lisp/net/rcirc.el (rcirc-split-message): New function. (rcirc-send-message): Use it. Fixes: debbugs:12051 --- lisp/ChangeLog | 5 +++++ lisp/net/rcirc.el | 39 ++++++++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 65017383de8..4e03a56111c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-08-13 Leo Liu + + * net/rcirc.el (rcirc-split-message): New function. + (rcirc-send-message): Use it. (Bug#12051) + 2012-08-10 Glenn Morris * emacs-lisp/copyright.el (copyright-update-directory): Logic fix. diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index e34b7c79b3b..0eb6c7ea51b 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -794,26 +794,35 @@ With no argument or nil as argument, use the current buffer." (defvar rcirc-max-message-length 420 "Messages longer than this value will be split.") +(defun rcirc-split-message (message) + "Split MESSAGE into chunks within `rcirc-max-message-length'." + (with-temp-buffer + (insert message) + (goto-char (point-min)) + (let (result) + (while (not (eobp)) + (goto-char (or (byte-to-position rcirc-max-message-length) + (point-max))) + ;; max message length is 512 including CRLF + (while (and (not (bobp)) + (> (length + (encode-coding-region (point-min) (point) + rcirc-encode-coding-system t)) + rcirc-max-message-length)) + (forward-char -1)) + (push (delete-and-extract-region (point-min) (point)) result)) + (nreverse result)))) + (defun rcirc-send-message (process target message &optional noticep silent) "Send TARGET associated with PROCESS a privmsg with text MESSAGE. If NOTICEP is non-nil, send a notice instead of privmsg. If SILENT is non-nil, do not print the message in any irc buffer." - ;; max message length is 512 including CRLF - (let* ((response (if noticep "NOTICE" "PRIVMSG")) - (oversize (> (length message) rcirc-max-message-length)) - (text (if oversize - (substring message 0 rcirc-max-message-length) - message)) - (text (if (string= text "") - " " - text)) - (more (if oversize - (substring message rcirc-max-message-length)))) + (let ((response (if noticep "NOTICE" "PRIVMSG"))) (rcirc-get-buffer-create process target) - (rcirc-send-string process (concat response " " target " :" text)) - (unless silent - (rcirc-print process (rcirc-nick process) response target text)) - (when more (rcirc-send-message process target more noticep)))) + (dolist (msg (rcirc-split-message message)) + (rcirc-send-string process (concat response " " target " :" msg)) + (unless silent + (rcirc-print process (rcirc-nick process) response target msg))))) (defvar rcirc-input-ring nil) (defvar rcirc-input-ring-index 0) From b7f501c736b4f45b4dee1d4d54a6f710c52f2530 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 13 Aug 2012 21:34:37 +0300 Subject: [PATCH 04/25] Backport: Don't disable Unicode menus on Windows NT and later. src/w32menu.c: Include w32heap.h. (add_menu_item): If the call to AppendMenuW (via unicode_append_menu) fails, disable Unicode menus only if we are running on Windows 9X/Me. src/makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h. --- src/ChangeLog | 7 +++++++ src/makefile.w32-in | 1 + src/w32menu.c | 9 +++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 96c6d244bd1..fbe4f06da58 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,12 @@ 2012-08-13 Eli Zaretskii + * w32menu.c: Include w32heap.h. + (add_menu_item): If the call to AppendMenuW (via + unicode_append_menu) fails, disable Unicode menus only if we are + running on Windows 9X/Me. + + * makefile.w32-in ($(BLD)/w32menu.$(O)): Depend on w32heap.h. + * window.c (Fdelete_other_windows_internal) (Fdelete_window_internal): Don't access frame's mouse highlight info of the initial frame. (Bug#11677) diff --git a/src/makefile.w32-in b/src/makefile.w32-in index d7ca325e223..06e633c1443 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in @@ -1506,6 +1506,7 @@ $(BLD)/w32menu.$(O) : \ $(SRC)/w32menu.c \ $(SRC)/buffer.h \ $(SRC)/keymap.h \ + $(SRC)/w32heap.h \ $(BLOCKINPUT_H) \ $(CHARSET_H) \ $(CODING_H) \ diff --git a/src/w32menu.c b/src/w32menu.c index 9091cb81627..0f45532ed53 100644 --- a/src/w32menu.c +++ b/src/w32menu.c @@ -40,6 +40,8 @@ along with GNU Emacs. If not, see . */ if this is not done before the other system files. */ #include "w32term.h" +#include "w32heap.h" + /* Load sys/types.h if not already loaded. In some systems loading it twice is suicidal. */ #ifndef makedev @@ -1498,8 +1500,11 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) AppendMenu (menu, fuFlags, item != NULL ? (UINT) item: (UINT) wv->call_data, out_string); - /* Don't use Unicode menus in future. */ - unicode_append_menu = NULL; + /* Don't use Unicode menus in future, unless this is Windows + NT or later, where a failure of AppendMenuW does NOT mean + Unicode menus are unsupported. */ + if (osinfo_cache.dwPlatformId != VER_PLATFORM_WIN32_NT) + unicode_append_menu = NULL; } if (unicode_append_menu && (fuFlags & MF_OWNERDRAW)) From 45e7ed71652ff194ea9389d40c49c7109af3d2d5 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 14 Aug 2012 12:04:25 +0800 Subject: [PATCH 05/25] Improve the file-local variable regression test. * test/automated/files.el: Test every combination of values for enable-local-variables and enable-local-eval. --- test/ChangeLog | 5 ++ test/automated/files.el | 139 ++++++++++++++++++++++++++++++++++------ 2 files changed, 123 insertions(+), 21 deletions(-) diff --git a/test/ChangeLog b/test/ChangeLog index b4195ea7d58..1cdd054da3e 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-08-14 Chong Yidong + + * automated/files.el: Test every combination of values for + enable-local-variables and enable-local-eval. + 2012-08-10 Glenn Morris * automated/files.el (files-test-disable-local-variables): New test. diff --git a/test/automated/files.el b/test/automated/files.el index e43d8c32f85..b6011395bfd 100644 --- a/test/automated/files.el +++ b/test/automated/files.el @@ -21,32 +21,129 @@ (require 'ert) -(defvar files-test-var1 nil) +;; Set to t if the local variable was set, `query' if the query was +;; triggered. +(defvar files-test-result) + +(defvar files-test-safe-result) +(put 'files-test-safe-result 'safe-local-variable 'booleanp) (defun files-test-fun1 () - (setq files-test-var1 t)) + (setq files-test-result t)) -(ert-deftest files-test-bug12155 () - "Test for http://debbugs.gnu.org/12155 ." - (with-temp-buffer - (insert "text\n" - ";; Local Variables:\n" - ";; eval: (files-test-fun1)\n" - ";; End:\n") - (let ((enable-local-variables :safe) - (enable-local-eval 'maybe)) - (hack-local-variables) - (should (eq files-test-var1 nil))))) +;; Test combinations: +;; `enable-local-variables' t, nil, :safe, :all, or something else. +;; `enable-local-eval' t, nil, or something else. -(ert-deftest files-test-disable-local-variables () - "Test that setting enable-local-variables to nil works." +(defvar files-test-local-variable-data + ;; Unsafe eval form + '((("eval: (files-test-fun1)") + (t t (eq files-test-result t)) + (t nil (eq files-test-result nil)) + (t maybe (eq files-test-result 'query)) + (nil t (eq files-test-result nil)) + (nil nil (eq files-test-result nil)) + (nil maybe (eq files-test-result nil)) + (:safe t (eq files-test-result nil)) + (:safe nil (eq files-test-result nil)) + (:safe maybe (eq files-test-result nil)) + (:all t (eq files-test-result t)) + (:all nil (eq files-test-result nil)) + (:all maybe (eq files-test-result t)) ; This combination is ambiguous. + (maybe t (eq files-test-result 'query)) + (maybe nil (eq files-test-result 'query)) + (maybe maybe (eq files-test-result 'query))) + ;; Unsafe local variable value + (("files-test-result: t") + (t t (eq files-test-result 'query)) + (t nil (eq files-test-result 'query)) + (t maybe (eq files-test-result 'query)) + (nil t (eq files-test-result nil)) + (nil nil (eq files-test-result nil)) + (nil maybe (eq files-test-result nil)) + (:safe t (eq files-test-result nil)) + (:safe nil (eq files-test-result nil)) + (:safe maybe (eq files-test-result nil)) + (:all t (eq files-test-result t)) + (:all nil (eq files-test-result t)) + (:all maybe (eq files-test-result t)) + (maybe t (eq files-test-result 'query)) + (maybe nil (eq files-test-result 'query)) + (maybe maybe (eq files-test-result 'query))) + ;; Safe local variable + (("files-test-safe-result: t") + (t t (eq files-test-safe-result t)) + (t nil (eq files-test-safe-result t)) + (t maybe (eq files-test-safe-result t)) + (nil t (eq files-test-safe-result nil)) + (nil nil (eq files-test-safe-result nil)) + (nil maybe (eq files-test-safe-result nil)) + (:safe t (eq files-test-safe-result t)) + (:safe nil (eq files-test-safe-result t)) + (:safe maybe (eq files-test-safe-result t)) + (:all t (eq files-test-safe-result t)) + (:all nil (eq files-test-safe-result t)) + (:all maybe (eq files-test-safe-result t)) + (maybe t (eq files-test-result 'query)) + (maybe nil (eq files-test-result 'query)) + (maybe maybe (eq files-test-result 'query))) + ;; Safe local variable with unsafe value + (("files-test-safe-result: 1") + (t t (eq files-test-result 'query)) + (t nil (eq files-test-result 'query)) + (t maybe (eq files-test-result 'query)) + (nil t (eq files-test-safe-result nil)) + (nil nil (eq files-test-safe-result nil)) + (nil maybe (eq files-test-safe-result nil)) + (:safe t (eq files-test-safe-result nil)) + (:safe nil (eq files-test-safe-result nil)) + (:safe maybe (eq files-test-safe-result nil)) + (:all t (eq files-test-safe-result 1)) + (:all nil (eq files-test-safe-result 1)) + (:all maybe (eq files-test-safe-result 1)) + (maybe t (eq files-test-result 'query)) + (maybe nil (eq files-test-result 'query)) + (maybe maybe (eq files-test-result 'query)))) + "List of file-local variable tests. +Each list element should have the form + + (LOCAL-VARS-LIST . TEST-LIST) + +where LOCAL-VARS-LISTS should be a list of local variable +definitions (strings) and TEST-LIST is a list of tests to +perform. Each entry of TEST-LIST should have the form + + (ENABLE-LOCAL-VARIABLES ENABLE-LOCAL-EVAL FORM) + +where ENABLE-LOCAL-VARIABLES is the value to assign to +`enable-local-variables', ENABLE-LOCAL-EVAL is the value to +assign to `enable-local-eval', and FORM is a desired `should' +form.") + +(defun file-test--do-local-variables-test (str test-settings) (with-temp-buffer - (insert "text\n" - ";; Local Variables:\n" - ";; files-test-var1: t\n" - ";; End:\n") - (let ((enable-local-variables nil)) + (insert str) + (let ((enable-local-variables (nth 0 test-settings)) + (enable-local-eval (nth 1 test-settings)) + (files-test-result nil) + (files-test-queried nil) + (files-test-safe-result nil)) (hack-local-variables) - (should (eq files-test-var1 nil))))) + (eval (nth 2 test-settings))))) + +(ert-deftest files-test-local-variables () + "Test the file-local variables implementation." + (unwind-protect + (progn + (defadvice hack-local-variables-confirm (around files-test activate) + (setq files-test-result 'query) + nil) + (dolist (test files-test-local-variable-data) + (let ((str (concat "text\n\n;; Local Variables:\n;; " + (mapconcat 'identity (car test) "\n;; ") + "\n;; End:\n"))) + (dolist (subtest (cdr test)) + (should (file-test--do-local-variables-test str subtest)))))) + (ad-disable-advice 'hack-local-variables-confirm 'around 'files-test))) ;;; files.el ends here From 7f654971e061afdaa4df62486cde4452abe698de Mon Sep 17 00:00:00 2001 From: Ulrich Mueller Date: Tue, 14 Aug 2012 14:58:01 +0800 Subject: [PATCH 06/25] * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long. Fixes: debbugs:11712 --- src/ChangeLog | 5 +++++ src/systime.h | 11 ++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index fbe4f06da58..28e053be63f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-08-14 Ulrich Mueller + + * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long + (Bug#11712). + 2012-08-13 Eli Zaretskii * w32menu.c: Include w32heap.h. diff --git a/src/systime.h b/src/systime.h index 9e7a1173a20..e6ebe4689df 100644 --- a/src/systime.h +++ b/src/systime.h @@ -147,15 +147,12 @@ extern int lisp_time_argument (Lisp_Object, time_t *, int *); #endif /* Compare times T1 and T2. Value is 0 if T1 and T2 are the same. - Value is < 0 if T1 is less than T2. Value is > 0 otherwise. (Cast - to long is for those platforms where time_t is an unsigned - type, and where otherwise T1 will always be grater than T2.) */ + Value is < 0 if T1 is less than T2. Value is > 0 otherwise. */ #define EMACS_TIME_CMP(T1, T2) \ - ((long)EMACS_SECS (T1) - (long)EMACS_SECS (T2) \ - + (EMACS_SECS (T1) == EMACS_SECS (T2) \ - ? EMACS_USECS (T1) - EMACS_USECS (T2) \ - : 0)) + (EMACS_SECS (T1) == EMACS_SECS (T2) \ + ? EMACS_USECS (T1) - EMACS_USECS (T2) \ + : (EMACS_SECS (T1) < EMACS_SECS (T2) ? -1 : 1)) /* Compare times T1 and T2 for equality, inequality etc. */ From dd3c46bd95fc245e54c9ed036f844b0430407732 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 14 Aug 2012 17:59:25 +0800 Subject: [PATCH 07/25] Fix build failure with glibc-2.16. * lib/gnulib.mk: * lib/stdio.in.h: * m4/stdio_h.m4: Do not assume that gets is defined. Fixes: debbugs:11873 --- ChangeLog | 6 ++++++ lib/gnulib.mk | 1 - lib/stdio.in.h | 21 +++++---------------- m4/stdio_h.m4 | 10 ++++------ 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index db8de760ba6..6cc23499bb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-08-14 Ulrich Mueller + + * lib/gnulib.mk: + * lib/stdio.in.h: + * m4/stdio_h.m4: Do not assume that gets is defined (Bug#11873). + 2012-06-21 Ulrich Mueller * configure.in: Use m/intel386.h for amd64 with x32 ABI. (Bug#11669) diff --git a/lib/gnulib.mk b/lib/gnulib.mk index 154ae9882da..781027d6e7a 100644 --- a/lib/gnulib.mk +++ b/lib/gnulib.mk @@ -599,7 +599,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ diff --git a/lib/stdio.in.h b/lib/stdio.in.h index ce00af574a8..1920830cc14 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -699,22 +699,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " # endif #endif -#if @GNULIB_GETS@ -# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef gets -# define gets rpl_gets -# endif -_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); -_GL_CXXALIAS_RPL (gets, char *, (char *s)); -# else -_GL_CXXALIAS_SYS (gets, char *, (char *s)); -# undef gets -# endif -_GL_CXXALIASWARN (gets); /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ + so any use of gets warrants an unconditional warning. Besides, C11 + removed it. */ +#undef gets +#if HAVE_RAW_DECL_GETS _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif @@ -1054,7 +1043,7 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " # endif #endif -/* Some people would argue that sprintf should be handled like gets +/* Some people would argue that sprintf uses should be warned about (for example, OpenBSD issues a link warning for both functions), since both can cause security holes due to buffer overruns. However, we believe that sprintf can be used safely, and is more diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 39bf80e2ac9..b362458d1cf 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,4 +1,4 @@ -# stdio_h.m4 serial 40 +# stdio_h.m4 serial 41 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H], GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c" dnl "expected source file, required through AC_LIBSOURCES, not found". It is @@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H], dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, and which is not - dnl guaranteed by C89. + dnl guaranteed by C89 and C11. gl_WARN_ON_USE_PREPARE([[#include - ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat - snprintf tmpfile vdprintf vsnprintf]) + ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen + renameat snprintf tmpfile vdprintf vsnprintf]) ]) AC_DEFUN([gl_STDIO_MODULE_INDICATOR], @@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR]) GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM]) GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE]) - GNULIB_GETS=0; AC_SUBST([GNULIB_GETS]) GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF]) GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX]) GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE]) From 6bdcb2b28f1efc5d7116a3e41e5da845a7eeda33 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 14 Aug 2012 07:17:35 -0400 Subject: [PATCH 08/25] Auto-commit of generated files. --- autogen/Makefile.in | 2 -- autogen/configure | 3 --- 2 files changed, 5 deletions(-) diff --git a/autogen/Makefile.in b/autogen/Makefile.in index 4ade989d095..4b12085206e 100644 --- a/autogen/Makefile.in +++ b/autogen/Makefile.in @@ -230,7 +230,6 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@ GNULIB_GETLOGIN = @GNULIB_GETLOGIN@ GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@ GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@ -GNULIB_GETS = @GNULIB_GETS@ GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@ GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@ GNULIB_GRANTPT = @GNULIB_GRANTPT@ @@ -1361,7 +1360,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \ -e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \ -e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \ - -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \ -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \ -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \ diff --git a/autogen/configure b/autogen/configure index 33576638fdd..3d3556dd8c6 100755 --- a/autogen/configure +++ b/autogen/configure @@ -719,7 +719,6 @@ GNULIB_PERROR GNULIB_PCLOSE GNULIB_OBSTACK_PRINTF_POSIX GNULIB_OBSTACK_PRINTF -GNULIB_GETS GNULIB_GETLINE GNULIB_GETDELIM GNULIB_GETCHAR @@ -18729,7 +18728,6 @@ $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h GNULIB_GETCHAR=0; GNULIB_GETDELIM=0; GNULIB_GETLINE=0; - GNULIB_GETS=0; GNULIB_OBSTACK_PRINTF=0; GNULIB_OBSTACK_PRINTF_POSIX=0; GNULIB_PCLOSE=0; @@ -21286,7 +21284,6 @@ $as_echo "$gl_cv_next_stdio_h" >&6; } GNULIB_GETC=1 GNULIB_GETCHAR=1 GNULIB_FGETS=1 - GNULIB_GETS=1 GNULIB_FREAD=1 From 8c95e664530b0287a4755f6a945d8ac624bf6bd9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 14 Aug 2012 14:43:08 -0400 Subject: [PATCH 09/25] * src/eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) --- src/ChangeLog | 4 ++++ src/eval.c | 9 ++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 28e053be63f..26369903c33 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-08-14 Glenn Morris + + * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) + 2012-08-14 Ulrich Mueller * systime.h (EMACS_TIME_CMP): Don't cast time_t values to long diff --git a/src/eval.c b/src/eval.c index 4a3f5083b3b..a2df5bfcff5 100644 --- a/src/eval.c +++ b/src/eval.c @@ -560,11 +560,10 @@ thinking of using it for any other purpose, it is quite likely that you're making a mistake. Think: what do you want to do when the command is called from a keyboard macro? -This function is meant for implementing advice and other -function-modifying features. Instead of using this, it is sometimes -cleaner to give your function an extra optional argument whose -`interactive' spec specifies non-nil unconditionally (\"p\" is a good -way to do this), or via (not (or executing-kbd-macro noninteractive)). */) +Instead of using this function, it is sometimes cleaner to give your +function an extra optional argument whose `interactive' spec specifies +non-nil unconditionally (\"p\" is a good way to do this), or via +\(not (or executing-kbd-macro noninteractive)). */) (Lisp_Object kind) { return ((INTERACTIVE || !EQ (kind, intern ("interactive"))) From 6f97980a9a0ca66d7b177005295cd7d6b68bf610 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 14 Aug 2012 15:07:53 -0400 Subject: [PATCH 10/25] Add CVE number to ChangeLog --- lisp/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4e03a56111c..5b2c16edaf7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -17,6 +17,7 @@ * files.el (hack-local-variables-filter): If an eval: form is not known to be safe, and enable-local-variables is :safe, then ignore the form totally, as is done for non-eval forms. (Bug#12155) + This is CVE-2012-3479. 2012-08-07 Chong Yidong From 27d6c5a891036a40c1242f1f53cc794023f31283 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Wed, 15 Aug 2012 20:26:48 +0800 Subject: [PATCH 11/25] Fix for the buffer-local rcirc-encode-coding-system case in rcirc-split-message. --- lisp/ChangeLog | 5 +++++ lisp/net/rcirc.el | 33 +++++++++++++++++---------------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5b2c16edaf7..143c255136f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-08-15 Leo Liu + + * net/rcirc.el (rcirc-split-message): Fix for buffer-local + rcirc-encode-coding-system. + 2012-08-13 Leo Liu * net/rcirc.el (rcirc-split-message): New function. diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 0eb6c7ea51b..0491e23ee24 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -796,22 +796,23 @@ With no argument or nil as argument, use the current buffer." (defun rcirc-split-message (message) "Split MESSAGE into chunks within `rcirc-max-message-length'." - (with-temp-buffer - (insert message) - (goto-char (point-min)) - (let (result) - (while (not (eobp)) - (goto-char (or (byte-to-position rcirc-max-message-length) - (point-max))) - ;; max message length is 512 including CRLF - (while (and (not (bobp)) - (> (length - (encode-coding-region (point-min) (point) - rcirc-encode-coding-system t)) - rcirc-max-message-length)) - (forward-char -1)) - (push (delete-and-extract-region (point-min) (point)) result)) - (nreverse result)))) + ;; `rcirc-encode-coding-system' can have buffer-local value. + (let ((encoding rcirc-encode-coding-system)) + (with-temp-buffer + (insert message) + (goto-char (point-min)) + (let (result) + (while (not (eobp)) + (goto-char (or (byte-to-position rcirc-max-message-length) + (point-max))) + ;; max message length is 512 including CRLF + (while (and (not (bobp)) + (> (length (encode-coding-region + (point-min) (point) encoding t)) + rcirc-max-message-length)) + (forward-char -1)) + (push (delete-and-extract-region (point-min) (point)) result)) + (nreverse result))))) (defun rcirc-send-message (process target message &optional noticep silent) "Send TARGET associated with PROCESS a privmsg with text MESSAGE. From ddf0e868c2461257cb922f415dea8d713400c1f8 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 16 Aug 2012 00:12:37 +0800 Subject: [PATCH 12/25] Bump version to 24.2 --- ChangeLog | 4 ++++ README | 2 +- admin/ChangeLog | 4 ++++ configure.in | 2 +- doc/emacs/ChangeLog | 4 ++++ doc/emacs/emacsver.texi | 2 +- doc/lispintro/ChangeLog | 4 ++++ doc/lispref/ChangeLog | 4 ++++ doc/man/ChangeLog | 4 ++++ doc/man/emacs.1 | 2 +- doc/misc/ChangeLog | 4 ++++ etc/ChangeLog | 4 ++++ leim/ChangeLog | 4 ++++ lib-src/ChangeLog | 4 ++++ lisp/ChangeLog | 4 ++++ lisp/cedet/ChangeLog | 4 ++++ lisp/erc/ChangeLog | 4 ++++ lisp/mh-e/ChangeLog | 4 ++++ lisp/org/ChangeLog | 4 ++++ lisp/url/ChangeLog | 4 ++++ lwlib/ChangeLog | 4 ++++ msdos/ChangeLog | 4 ++++ msdos/sed2v2.inp | 2 +- nextstep/ChangeLog | 4 ++++ nextstep/Cocoa/Emacs.base/Contents/Info.plist | 4 ++-- .../Contents/Resources/English.lproj/InfoPlist.strings | 4 ++-- nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop | 2 +- nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist | 4 ++-- nt/ChangeLog | 4 ++++ nt/config.nt | 2 +- nt/emacs.rc | 8 ++++---- nt/emacsclient.rc | 8 ++++---- nt/makefile.w32-in | 2 +- oldXMenu/ChangeLog | 4 ++++ src/ChangeLog | 4 ++++ test/ChangeLog | 4 ++++ 36 files changed, 114 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6cc23499bb1..31091767f93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-14 Ulrich Mueller * lib/gnulib.mk: diff --git a/README b/README index 42267218627..590296461d9 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ Copyright (C) 2001-2012 Free Software Foundation, Inc. See the end of the file for license conditions. -This directory tree holds version 24.1 of GNU Emacs, the extensible, +This directory tree holds version 24.2 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. The file INSTALL in this directory says how to build and install GNU diff --git a/admin/ChangeLog b/admin/ChangeLog index abe759dc53c..57b5ac0bd24 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-10 Glenn Morris * bzrmerge.el (bzrmerge-resolve): Disable local eval:. diff --git a/configure.in b/configure.in index f9aef8195c6..2b0b2f7e9bd 100644 --- a/configure.in +++ b/configure.in @@ -22,7 +22,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with GNU Emacs. If not, see . AC_PREREQ(2.65) -AC_INIT(emacs, 24.1) +AC_INIT(emacs, 24.2) AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) AC_CONFIG_AUX_DIR(build-aux) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 1253a7cec61..bb3863858a3 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-07-31 Chong Yidong * emacs.texi: Fix ISBN (Bug#12080). diff --git a/doc/emacs/emacsver.texi b/doc/emacs/emacsver.texi index 1c12f47497c..7313b62c25a 100644 --- a/doc/emacs/emacsver.texi +++ b/doc/emacs/emacsver.texi @@ -1,4 +1,4 @@ @c It would be nicer to generate this using configure and @version@. @c However, that would mean emacsver.texi would always be newer @c then the info files in release tarfiles. -@set EMACSVER 24.1 +@set EMACSVER 24.2 diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 0cf74ae5878..9a5f0a43fca 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-19 Glenn Morris * Makefile.in: Rename infodir to buildinfodir throughout. (Bug#11737) diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f91f99d9c3d..8acf76c93b0 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-06 Eli Zaretskii * functions.texi (Closures): Put the main index entry for diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 8355e674212..07504ebaf6e 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index 6dd8c55b013..c6caebf890c 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -1,5 +1,5 @@ .\" See section COPYING for copyright and redistribution information. -.TH EMACS 1 "2007 April 13" "GNU Emacs 24.1" +.TH EMACS 1 "2007 April 13" "GNU Emacs 24.2" . . .SH NAME diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 5a414e66f9a..33118558cbb 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-06 Aurélien Aptel * url.texi (Parsed URLs): Adjust to the code's use of defstruct diff --git a/etc/ChangeLog b/etc/ChangeLog index 903407e47d5..af72e050e43 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/leim/ChangeLog b/leim/ChangeLog index 2d062f6e54d..c30e0fc7878 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index bdb6058c09a..6ae19d1fdf4 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 143c255136f..7293a4626ff 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-15 Leo Liu * net/rcirc.el (rcirc-split-message): Fix for buffer-local diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 9d7da3430ad..59b1b480d45 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index b4d4586b6f3..37ef37f1edc 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 0a15a65dc71..6e431cb8095 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index dc3b532b537..8c588c4d559 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 685f32505b1..e71f266c544 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-23 Leo Liu * url-http.el (url-http-codes): Fix mal-formed defconst. diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 4b07b7927ae..8b8b3418c77 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/msdos/ChangeLog b/msdos/ChangeLog index de20128d88c..e7113ce2669 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/msdos/sed2v2.inp b/msdos/sed2v2.inp index 2e215bfd4e4..48ab482f7f4 100644 --- a/msdos/sed2v2.inp +++ b/msdos/sed2v2.inp @@ -59,7 +59,7 @@ /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/ /^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/ /^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/ -/^#undef VERSION/s/^.*$/#define VERSION "24.1"/ +/^#undef VERSION/s/^.*$/#define VERSION "24.2"/ /^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/ /^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/ /^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/ diff --git a/nextstep/ChangeLog b/nextstep/ChangeLog index f5cbdc33847..07dc3d1bb4c 100644 --- a/nextstep/ChangeLog +++ b/nextstep/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/nextstep/Cocoa/Emacs.base/Contents/Info.plist b/nextstep/Cocoa/Emacs.base/Contents/Info.plist index 793e022f868..34af9f34c4e 100644 --- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist +++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist @@ -553,7 +553,7 @@ along with GNU Emacs. If not, see . CFBundleExecutable Emacs CFBundleGetInfoString - Emacs 24.1 Copyright (C) 2012 Free Software Foundation, Inc. + Emacs 24.2 Copyright (C) 2012 Free Software Foundation, Inc. CFBundleIconFile Emacs.icns CFBundleIdentifier @@ -566,7 +566,7 @@ along with GNU Emacs. If not, see . APPL CFBundleShortVersionString - 24.1 + 24.2 CFBundleSignature EMAx diff --git a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings index 19cdba8a0dd..02baa7ba6cc 100644 --- a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings +++ b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ /* Localized versions of Info.plist keys */ CFBundleName = "Emacs"; -CFBundleShortVersionString = "Version 24.1"; -CFBundleGetInfoString = "Emacs version 24.1, NS Windowing"; +CFBundleShortVersionString = "Version 24.2"; +CFBundleGetInfoString = "Emacs version 24.2, NS Windowing"; NSHumanReadableCopyright = "Copyright (C) 2012 Free Software Foundation, Inc."; diff --git a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop index da1a3be2f86..fe8702a4909 100644 --- a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop +++ b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Encoding=UTF-8 Type=Application -Version=24.1 +Version=24.2 Categories=GNUstep Name=Emacs Comment=GNU Emacs for NeXT/Open/GNUstep and OS X diff --git a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist index 2c95656af5c..cfbf09c9efa 100644 --- a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist +++ b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist @@ -2,7 +2,7 @@ ApplicationDescription = "GNU Emacs for GNUstep / OS X"; ApplicationIcon = emacs.tiff; ApplicationName = Emacs; - ApplicationRelease = "24.1"; + ApplicationRelease = "24.2"; Authors = ( "Adrian Robert (GNUstep)", "Christophe de Dinechin (MacOS X)", @@ -13,7 +13,7 @@ ); Copyright = "Copyright (C) 2012 Free Software Foundation, Inc."; CopyrightDescription = "Released under the GNU General Public License Version 3 or later"; - FullVersionID = "Emacs 24.1, NS Windowing"; + FullVersionID = "Emacs 24.2, NS Windowing"; NSExecutable = Emacs; NSIcon = emacs.tiff; NSPrincipalClass = NSApplication; diff --git a/nt/ChangeLog b/nt/ChangeLog index f27b4867ebe..abc71a1bb19 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/nt/config.nt b/nt/config.nt index 94cb6072603..d44df3c21f0 100644 --- a/nt/config.nt +++ b/nt/config.nt @@ -331,7 +331,7 @@ along with GNU Emacs. If not, see . */ #define PACKAGE "emacs" /* Version number of package */ -#define VERSION "24.1" +#define VERSION "24.2" /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ diff --git a/nt/emacs.rc b/nt/emacs.rc index e9d472de79f..e92b665ef44 100644 --- a/nt/emacs.rc +++ b/nt/emacs.rc @@ -7,8 +7,8 @@ Emacs ICON icons\emacs.ico #endif VS_VERSION_INFO VERSIONINFO - FILEVERSION 24,1,0,0 - PRODUCTVERSION 24,1,0,0 + FILEVERSION 24,2,0,0 + PRODUCTVERSION 24,2,0,0 FILEFLAGSMASK 0x3FL #ifdef EMACSDEBUG FILEFLAGS 0x1L @@ -25,12 +25,12 @@ BEGIN BEGIN VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0" - VALUE "FileVersion", "24, 1, 0, 0\0" + VALUE "FileVersion", "24, 2, 0, 0\0" VALUE "InternalName", "Emacs\0" VALUE "LegalCopyright", "Copyright (C) 2001-2012\0" VALUE "OriginalFilename", "emacs.exe" VALUE "ProductName", "Emacs\0" - VALUE "ProductVersion", "24, 1, 0, 0\0" + VALUE "ProductVersion", "24, 2, 0, 0\0" VALUE "OLESelfRegister", "\0" END END diff --git a/nt/emacsclient.rc b/nt/emacsclient.rc index 0af025c6c0f..5c905a8c533 100644 --- a/nt/emacsclient.rc +++ b/nt/emacsclient.rc @@ -5,8 +5,8 @@ Emacs ICON icons\emacs.ico #endif VS_VERSION_INFO VERSIONINFO - FILEVERSION 24,1,0,0 - PRODUCTVERSION 24,1,0,0 + FILEVERSION 24,2,0,0 + PRODUCTVERSION 24,2,0,0 FILEFLAGSMASK 0x3FL #ifdef EMACSDEBUG FILEFLAGS 0x1L @@ -23,12 +23,12 @@ BEGIN BEGIN VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0" - VALUE "FileVersion", "24, 1, 0, 0\0" + VALUE "FileVersion", "24, 2, 0, 0\0" VALUE "InternalName", "EmacsClient\0" VALUE "LegalCopyright", "Copyright (C) 2001-2012\0" VALUE "OriginalFilename", "emacsclientw.exe" VALUE "ProductName", "EmacsClient\0" - VALUE "ProductVersion", "24, 1, 0, 0\0" + VALUE "ProductVersion", "24, 2, 0, 0\0" VALUE "OLESelfRegister", "\0" END END diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index cb151785888..161fc8fd706 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -22,7 +22,7 @@ # FIXME: This file uses DOS EOLs. Convert to Unix after 22.1 is out # (and remove or replace this comment). -VERSION = 24.1 +VERSION = 24.2 TMP_DIST_DIR = emacs-$(VERSION) diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog index 2d42a65356f..338f9e75429 100644 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-06-01 Chong Yidong * Version 24.1 released. diff --git a/src/ChangeLog b/src/ChangeLog index 26369903c33..7da25a856e6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-14 Glenn Morris * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) diff --git a/test/ChangeLog b/test/ChangeLog index 1cdd054da3e..4f707a4e74a 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Chong Yidong + + * Version 24.2 released. + 2012-08-14 Chong Yidong * automated/files.el: Test every combination of values for From e84a9018eca592c250831398edfcfc30780b4f34 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 16 Aug 2012 00:13:34 +0800 Subject: [PATCH 13/25] Regenerate ldefs-boot.el --- lisp/ldefs-boot.el | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index f004f03e8f3..be81935160e 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -1611,7 +1611,7 @@ insert a template for the file depending on the mode of the buffer. ;;;### (autoloads (batch-update-autoloads update-directory-autoloads ;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" -;;;;;; (20400 62402)) +;;;;;; (20517 48515)) ;;; Generated autoloads from emacs-lisp/autoload.el (put 'generated-autoload-file 'safe-local-variable 'stringp) @@ -2705,7 +2705,7 @@ columns on its right towards the left. ;;;*** ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference" -;;;;;; "progmodes/bug-reference.el" (20352 65510)) +;;;;;; "progmodes/bug-reference.el" (20487 24216)) ;;; Generated autoloads from progmodes/bug-reference.el (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format))))) @@ -2859,7 +2859,7 @@ and corresponding effects. ;;;*** -;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20352 65510)) +;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20461 49352)) ;;; Generated autoloads from calendar/cal-dst.el (put 'calendar-daylight-savings-starts 'risky-local-variable t) @@ -4748,8 +4748,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely). ;;;*** ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years -;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20400 -;;;;;; 62402)) +;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (20517 +;;;;;; 48515)) ;;; Generated autoloads from emacs-lisp/copyright.el (put 'copyright-at-end-flag 'safe-local-variable 'booleanp) (put 'copyright-names-regexp 'safe-local-variable 'stringp) @@ -4788,7 +4788,7 @@ If FIX is non-nil, run `copyright-fix-years' instead. ;;;*** ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) -;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20352 65510)) +;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (20512 35261)) ;;; Generated autoloads from progmodes/cperl-mode.el (put 'cperl-indent-level 'safe-local-variable 'integerp) (put 'cperl-brace-offset 'safe-local-variable 'integerp) @@ -6372,7 +6372,7 @@ This requires the external program `diff' to be in your `exec-path'. ;;;*** ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el" -;;;;;; (20400 62402)) +;;;;;; (20461 49352)) ;;; Generated autoloads from vc/diff-mode.el (autoload 'diff-mode "diff-mode" "\ @@ -8406,7 +8406,7 @@ Emerge two RCS revisions of a file, with another revision as ancestor. ;;;*** ;;;### (autoloads (enriched-decode enriched-encode enriched-mode) -;;;;;; "enriched" "textmodes/enriched.el" (20352 65510)) +;;;;;; "enriched" "textmodes/enriched.el" (20461 49352)) ;;; Generated autoloads from textmodes/enriched.el (autoload 'enriched-mode "enriched" "\ @@ -10136,7 +10136,7 @@ This is used only in conjunction with `expand-add-abbrevs'. ;;;*** -;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20400 62402)) +;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20461 49352)) ;;; Generated autoloads from progmodes/f90.el (autoload 'f90-mode "f90" "\ @@ -11366,7 +11366,7 @@ and choose the directory as the fortune-file. ;;;*** ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el" -;;;;;; (20400 62402)) +;;;;;; (20500 124)) ;;; Generated autoloads from progmodes/gdb-mi.el (defvar gdb-enable-debug nil "\ @@ -14045,7 +14045,7 @@ bound to the current value of the filter. ;;;*** ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) -;;;;;; "ibuffer" "ibuffer.el" (20400 62402)) +;;;;;; "ibuffer" "ibuffer.el" (20461 49352)) ;;; Generated autoloads from ibuffer.el (autoload 'ibuffer-list-buffers "ibuffer" "\ @@ -18060,7 +18060,7 @@ The return value is always nil. ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files ;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup) -;;;;;; "misearch" "misearch.el" (20352 65510)) +;;;;;; "misearch" "misearch.el" (20487 24216)) ;;; Generated autoloads from misearch.el (add-hook 'isearch-mode-hook 'multi-isearch-setup) @@ -23745,7 +23745,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'. ;;;*** ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" -;;;;;; "net/rcirc.el" (20400 62402)) +;;;;;; "net/rcirc.el" (20523 50225)) ;;; Generated autoloads from net/rcirc.el (autoload 'rcirc "rcirc" "\ @@ -25825,7 +25825,7 @@ To work around that, do: ;;;*** ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" -;;;;;; (20400 62402)) +;;;;;; (20487 24216)) ;;; Generated autoloads from progmodes/sh-script.el (put 'sh-shell 'safe-local-variable 'symbolp) @@ -26028,8 +26028,8 @@ Otherwise, one argument `-i' is passed to the shell. ;;;*** -;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20352 -;;;;;; 65510)) +;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20487 +;;;;;; 24216)) ;;; Generated autoloads from gnus/shr.el (autoload 'shr-insert-document "shr" "\ @@ -29817,8 +29817,8 @@ Discard Tramp from loading remote files. ;;;*** -;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20400 -;;;;;; 62402)) +;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20517 +;;;;;; 48515)) ;;; Generated autoloads from tutorial.el (autoload 'help-with-tutorial "tutorial" "\ @@ -30445,7 +30445,7 @@ accessible. ;;;*** ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p -;;;;;; url-http) "url-http" "url/url-http.el" (20400 62402)) +;;;;;; url-http) "url-http" "url/url-http.el" (20461 49352)) ;;; Generated autoloads from url/url-http.el (autoload 'url-http "url-http" "\ @@ -30830,7 +30830,7 @@ This uses `url-current-object', set locally to the buffer. ;;;*** ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) -;;;;;; "userlock" "userlock.el" (20352 65510)) +;;;;;; "userlock" "userlock.el" (20487 24216)) ;;; Generated autoloads from userlock.el (autoload 'ask-user-about-lock "userlock" "\ @@ -32664,7 +32664,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke ;;;*** ;;;### (autoloads (which-function-mode which-func-mode) "which-func" -;;;;;; "progmodes/which-func.el" (20400 62402)) +;;;;;; "progmodes/which-func.el" (20461 49352)) ;;; Generated autoloads from progmodes/which-func.el (put 'which-func-format 'risky-local-variable t) (put 'which-func-current 'risky-local-variable t) @@ -33754,7 +33754,7 @@ Zone out, completely. ;;;;;; "vc/ediff-ptch.el" "vc/ediff-vers.el" "vc/ediff-wind.el" ;;;;;; "vc/pcvs-info.el" "vc/pcvs-parse.el" "vc/pcvs-util.el" "vc/vc-dav.el" ;;;;;; "vcursor.el" "vt-control.el" "vt100-led.el" "w32-fns.el" -;;;;;; "w32-vars.el" "x-dnd.el") (20436 19807 651595)) +;;;;;; "w32-vars.el" "x-dnd.el") (20523 50589 129181)) ;;;*** From 6652b0bc0ab3eb055f64f819fdb3c2329d7400b3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 15 Aug 2012 15:03:14 -0400 Subject: [PATCH 14/25] * lisp/vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean. Do not merge to trunk. --- lisp/ChangeLog | 4 ++++ lisp/vc/log-edit.el | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7293a4626ff..d205e36a749 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,10 @@ * Version 24.2 released. +2012-08-15 Glenn Morris + + * vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean. + 2012-08-15 Leo Liu * net/rcirc.el (rcirc-split-message): Fix for buffer-local diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 54d548c09da..4ef2732382e 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -360,6 +360,12 @@ automatically." 'log-edit-header) nil lax))))) +;; Used in Emacs 24.3+, and in Emacs's .dir-locals.el file. +;; This is a convenience setting so that people committing files +;; to Emacs trunk with Emacs 24point2 do not always get queried +;; about this variable being potentially unsafe. +(put 'log-edit-font-lock-gnu-style 'safe-local-variable 'booleanp) + ;;;###autoload (defun log-edit (callback &optional setup params buffer mode &rest _ignore) "Setup a buffer to enter a log message. From 879b6116e2ee1ed8b6ad20086bfc5f333013c100 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 15 Aug 2012 15:12:03 -0400 Subject: [PATCH 15/25] Add 24.2 NEWS section (do not merge to trunk) --- etc/NEWS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index 4379f0c180b..6c0014d0bf7 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -14,6 +14,11 @@ and NEWS.1-17 for changes in older Emacs versions. You can narrow news to a specific version by calling `view-emacs-news' with a prefix argument or by typing C-u C-h C-n. + +* Changes in Emacs 24.2 + +** This is mainly a bug-fix release. + * Installation Changes in Emacs 24.1 From 5defc805f7987454b07e2bd80b3a3942dc20fde2 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 16 Aug 2012 07:17:31 -0400 Subject: [PATCH 16/25] Auto-commit of generated files. --- autogen/configure | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/autogen/configure b/autogen/configure index 3d3556dd8c6..cc9e5054ecb 100755 --- a/autogen/configure +++ b/autogen/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for emacs 24.1. +# Generated by GNU Autoconf 2.65 for emacs 24.2. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -549,8 +549,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='emacs' PACKAGE_TARNAME='emacs' -PACKAGE_VERSION='24.1' -PACKAGE_STRING='emacs 24.1' +PACKAGE_VERSION='24.2' +PACKAGE_STRING='emacs 24.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1886,7 +1886,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures emacs 24.1 to adapt to many kinds of systems. +\`configure' configures emacs 24.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1960,7 +1960,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of emacs 24.1:";; + short | recursive ) echo "Configuration of emacs 24.2:";; esac cat <<\_ACEOF @@ -2123,7 +2123,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -emacs configure 24.1 +emacs configure 24.2 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2845,7 +2845,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by emacs $as_me 24.1, which was +It was created by emacs $as_me 24.2, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3678,7 +3678,7 @@ fi # Define the identity of the package. PACKAGE='emacs' - VERSION='24.1' + VERSION='24.2' cat >>confdefs.h <<_ACEOF @@ -23160,7 +23160,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by emacs $as_me 24.1, which was +This file was extended by emacs $as_me 24.2, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23226,7 +23226,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -emacs config.status 24.1 +emacs config.status 24.2 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" From 0c53f13cb5e48f308ba68fb09cf7b2fec73869bb Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 20 Aug 2012 22:13:16 +0800 Subject: [PATCH 17/25] Fix comment in log-edit.el. --- lisp/vc/log-edit.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 4ef2732382e..a84f49884ca 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -360,10 +360,10 @@ automatically." 'log-edit-header) nil lax))))) -;; Used in Emacs 24.3+, and in Emacs's .dir-locals.el file. -;; This is a convenience setting so that people committing files -;; to Emacs trunk with Emacs 24point2 do not always get queried -;; about this variable being potentially unsafe. +;; Used in Emacs 24.3+, and in Emacs's .dir-locals.el file. This is a +;; convenience setting so that people committing files to Emacs trunk +;; with Emacs 24.2 do not always get queried about this variable being +;; potentially unsafe. (put 'log-edit-font-lock-gnu-style 'safe-local-variable 'booleanp) ;;;###autoload From d30aca1b7a03b76bb055e1895b96a18a6fbff404 Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Mon, 20 Aug 2012 11:26:46 -0400 Subject: [PATCH 18/25] * lisp/progmodes/hideshow.el (hs-block-end-regexp): Restore lost buffer local setting. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/hideshow.el | 2 ++ 2 files changed, 7 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d205e36a749..d37b054e9d0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-08-20 Dan Nicolaescu + + * progmodes/hideshow.el (hs-block-end-regexp): Restore lost + buffer local setting. + 2012-08-15 Chong Yidong * Version 24.2 released. diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el index 26db60ddbc2..8463648e679 100644 --- a/lisp/progmodes/hideshow.el +++ b/lisp/progmodes/hideshow.el @@ -408,6 +408,8 @@ element (using `match-beginning') before calling `hs-forward-sexp-func'.") (defvar hs-block-end-regexp nil "Regexp for end of block.") +(make-variable-buffer-local 'hs-block-end-regexp) + (defvar hs-forward-sexp-func 'forward-sexp "Function used to do a `forward-sexp'. From ffe6eaf17d2dc721cd8daf9a88d61cb6a9731b5a Mon Sep 17 00:00:00 2001 From: Jeremy Moore Date: Wed, 22 Aug 2012 00:17:52 -0700 Subject: [PATCH 19/25] * lisp/progmodes/hideif.el (hif-compress-define-list): Fix typo. (tiny change) Fixes: debbugs:11951 --- lisp/ChangeLog | 5 +++++ lisp/progmodes/hideif.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d37b054e9d0..6122c0b0f8d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-08-22 Jeremy Moore (tiny change) + + * progmodes/hideif.el (hif-compress-define-list): + Fix typo. (Bug#11951) + 2012-08-20 Dan Nicolaescu * progmodes/hideshow.el (hs-block-end-regexp): Restore lost diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el index 3e3d7adc0b6..4b77c6dab1a 100644 --- a/lisp/progmodes/hideif.el +++ b/lisp/progmodes/hideif.el @@ -1003,7 +1003,7 @@ Return as (TOP . BOTTOM) the extent of ifdef block." "Compress the define list ENV into a list of defined symbols only." (let ((new-defs nil)) (dolist (def env new-defs) - (if (hif-lookup (car def)) (push (car env) new-defs))))) + (if (hif-lookup (car def)) (push (car def) new-defs))))) (defun hide-ifdef-set-define-alist (name) "Set the association for NAME to `hide-ifdef-env'." From db148c21a9bc379f5147d5dfc4f53504308e60bc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 23 Aug 2012 08:19:27 -0400 Subject: [PATCH 20/25] * lisp/files.el (safe-local-eval-forms): Fix before-save-hook entry to be buffer-local; add delete-trailing-whitespace. Fixes: debbugs:12259 --- lisp/ChangeLog | 5 +++++ lisp/files.el | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6122c0b0f8d..95d920b32ec 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2012-08-23 Stefan Monnier + + * files.el (safe-local-eval-forms): Fix before-save-hook entry to be + buffer-local; add delete-trailing-whitespace (bug#12259). + 2012-08-22 Jeremy Moore (tiny change) * progmodes/hideif.el (hif-compress-define-list): diff --git a/lisp/files.el b/lisp/files.el index 02c9e04311e..5f83639d9cf 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2842,7 +2842,8 @@ symbol and VAL is a value that is considered safe." ;; This should be here at least as long as Emacs supports write-file-hooks. '((add-hook 'write-file-hooks 'time-stamp) (add-hook 'write-file-functions 'time-stamp) - (add-hook 'before-save-hook 'time-stamp)) + (add-hook 'before-save-hook 'time-stamp nil t) + (add-hook 'before-save-hook 'delete-trailing-whitespace nil t)) "Expressions that are considered safe in an `eval:' local variable. Add expressions to this list if you want Emacs to evaluate them, when they appear in an `eval' local variable specification, without first From 36c46f8e09d5cb0cb8d2b19b9d3ad4826b5e163c Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 24 Aug 2012 11:26:46 +0300 Subject: [PATCH 21/25] Fix bug #12242 with crashes in ralloc.c on OpenBSD. src/ralloc.c (free_bloc): Don't dereference a 'heap' structure if it is not one of the heaps we manage. --- src/ChangeLog | 5 +++++ src/ralloc.c | 45 ++++++++++++++++++++++++++++++++------------- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 7da25a856e6..e5adbedd567 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2012-08-24 Eli Zaretskii + + * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it + is not one of the heaps we manage. (Bug#12242) + 2012-08-15 Chong Yidong * Version 24.2 released. diff --git a/src/ralloc.c b/src/ralloc.c index b1a5982574f..fdcee7c7ef4 100644 --- a/src/ralloc.c +++ b/src/ralloc.c @@ -686,6 +686,7 @@ static void free_bloc (bloc_ptr bloc) { heap_ptr heap = bloc->heap; + heap_ptr h; if (r_alloc_freeze_level) { @@ -715,20 +716,38 @@ free_bloc (bloc_ptr bloc) bloc->prev->next = bloc->next; } - /* Update the records of which blocs are in HEAP. */ - if (heap->first_bloc == bloc) + /* Sometimes, 'heap' obtained from bloc->heap above is not really a + 'heap' structure. It can even be beyond the current break point, + which will cause crashes when we dereference it below (see + bug#12242). Evidently, the reason is bloc allocations done while + use_relocatable_buffers was non-positive, because additional + memory we get then is not recorded in the heaps we manage. If + bloc->heap records such a "heap", we cannot (and don't need to) + update its records. So we validate the 'heap' value by making + sure it is one of the heaps we manage via the heaps linked list, + and don't touch a 'heap' that isn't found there. This avoids + accessing memory we know nothing about. */ + for (h = first_heap; h != NIL_HEAP; h = h->next) + if (heap == h) + break; + + if (h) { - if (bloc->next != 0 && bloc->next->heap == heap) - heap->first_bloc = bloc->next; - else - heap->first_bloc = heap->last_bloc = NIL_BLOC; - } - if (heap->last_bloc == bloc) - { - if (bloc->prev != 0 && bloc->prev->heap == heap) - heap->last_bloc = bloc->prev; - else - heap->first_bloc = heap->last_bloc = NIL_BLOC; + /* Update the records of which blocs are in HEAP. */ + if (heap->first_bloc == bloc) + { + if (bloc->next != 0 && bloc->next->heap == heap) + heap->first_bloc = bloc->next; + else + heap->first_bloc = heap->last_bloc = NIL_BLOC; + } + if (heap->last_bloc == bloc) + { + if (bloc->prev != 0 && bloc->prev->heap == heap) + heap->last_bloc = bloc->prev; + else + heap->first_bloc = heap->last_bloc = NIL_BLOC; + } } relinquish (); From 19c17fc1475500f2a6fecf1b8ebd08e64635e4ca Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 24 Aug 2012 17:53:39 +0800 Subject: [PATCH 22/25] Update release logs --- ChangeLog | 2 +- admin/ChangeLog | 2 +- doc/emacs/ChangeLog | 2 +- doc/lispintro/ChangeLog | 2 +- doc/lispref/ChangeLog | 2 +- doc/man/ChangeLog | 2 +- doc/misc/ChangeLog | 2 +- etc/ChangeLog | 2 +- leim/ChangeLog | 2 +- lib-src/ChangeLog | 2 +- lisp/ChangeLog | 12 ++++++------ lisp/erc/ChangeLog | 2 +- lisp/mh-e/ChangeLog | 2 +- lisp/org/ChangeLog | 2 +- lisp/url/ChangeLog | 2 +- lwlib/ChangeLog | 2 +- msdos/ChangeLog | 2 +- nextstep/ChangeLog | 2 +- nt/ChangeLog | 2 +- oldXMenu/ChangeLog | 2 +- src/ChangeLog | 8 ++++---- test/ChangeLog | 2 +- 22 files changed, 30 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index 31091767f93..9b2bd44bd5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/admin/ChangeLog b/admin/ChangeLog index 57b5ac0bd24..d08ed24ded5 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index bb3863858a3..ad0b4af4af9 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 9a5f0a43fca..bc2ed8a8d82 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 8acf76c93b0..f283a3d9363 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 07504ebaf6e..bdaccfe0ac5 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 33118558cbb..950a379b5fb 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/etc/ChangeLog b/etc/ChangeLog index af72e050e43..38e346e4d96 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/leim/ChangeLog b/leim/ChangeLog index c30e0fc7878..320e6067e44 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 6ae19d1fdf4..0bf37785f91 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 95d920b32ec..a29946a5a73 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,7 +1,11 @@ +2012-08-24 Chong Yidong + + * Version 24.2 released. + 2012-08-23 Stefan Monnier - * files.el (safe-local-eval-forms): Fix before-save-hook entry to be - buffer-local; add delete-trailing-whitespace (bug#12259). + * files.el (safe-local-eval-forms): Fix before-save-hook entry to + be buffer-local; add delete-trailing-whitespace (bug#12259). 2012-08-22 Jeremy Moore (tiny change) @@ -13,10 +17,6 @@ * progmodes/hideshow.el (hs-block-end-regexp): Restore lost buffer local setting. -2012-08-15 Chong Yidong - - * Version 24.2 released. - 2012-08-15 Glenn Morris * vc/log-edit.el (log-edit-font-lock-gnu-style): Mark safe if boolean. diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 37ef37f1edc..87177148e88 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 6e431cb8095..faf125bb4db 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 8c588c4d559..734a5d8ac10 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index e71f266c544..c9050a35786 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 8b8b3418c77..10e945e7821 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/msdos/ChangeLog b/msdos/ChangeLog index e7113ce2669..96f7762ed76 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/nextstep/ChangeLog b/nextstep/ChangeLog index 07dc3d1bb4c..0b8f0207c26 100644 --- a/nextstep/ChangeLog +++ b/nextstep/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/nt/ChangeLog b/nt/ChangeLog index abc71a1bb19..98dd983bfae 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog index 338f9e75429..024e9cb570f 100644 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/src/ChangeLog b/src/ChangeLog index e5adbedd567..28d4b1df989 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,12 +1,12 @@ +2012-08-24 Chong Yidong + + * Version 24.2 released. + 2012-08-24 Eli Zaretskii * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it is not one of the heaps we manage. (Bug#12242) -2012-08-15 Chong Yidong - - * Version 24.2 released. - 2012-08-14 Glenn Morris * eval.c (Fcalled_interactively_p): Doc fix. (Bug#11747) diff --git a/test/ChangeLog b/test/ChangeLog index 4f707a4e74a..e25e06dd5eb 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,4 +1,4 @@ -2012-08-15 Chong Yidong +2012-08-24 Chong Yidong * Version 24.2 released. From 22ab32ef882fb7aaf1c193d377194ed797e81e20 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 27 Aug 2012 18:51:17 +0800 Subject: [PATCH 23/25] Change sh-indent-comment to t See: http://debbugs.gnu.org/12267 --- lisp/ChangeLog | 4 ++++ lisp/progmodes/sh-script.el | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a29946a5a73..77c6a8d087c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2012-08-27 Leo Liu + + * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). + 2012-08-24 Chong Yidong * Version 24.2 released. diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 7d38df6aff6..90f9ce3a52f 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1190,7 +1190,7 @@ This value is used for the `+' and `-' symbols in an indentation variable." :group 'sh-indentation) (put 'sh-basic-offset 'safe-local-variable 'integerp) -(defcustom sh-indent-comment nil +(defcustom sh-indent-comment t "How a comment line is to be indented. nil means leave it as it is; t means indent it as a normal line, aligning it to previous non-blank @@ -1201,6 +1201,7 @@ a number means align to that column, e.g. 0 means first column." (const :tag "Indent as a normal line." t) (integer :menu-tag "Indent to this col (0 means first col)." :tag "Indent to column number.") ) + :version "24.3" :group 'sh-indentation) From 3bb213b9fcf46b0e1f97cf830c1a9e2b62c566e7 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 27 Aug 2012 19:02:23 +0800 Subject: [PATCH 24/25] * skeleton.el (skeleton-untabify): Change to nil. Fixes: debbugs:12223 --- lisp/ChangeLog | 2 ++ lisp/skeleton.el | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 77c6a8d087c..456eca53a82 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2012-08-27 Leo Liu + * skeleton.el (skeleton-untabify): Change to nil (bug#12223). + * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). 2012-08-24 Chong Yidong diff --git a/lisp/skeleton.el b/lisp/skeleton.el index 0f28d32293b..efc0a2da84d 100644 --- a/lisp/skeleton.el +++ b/lisp/skeleton.el @@ -77,7 +77,7 @@ The variables `v1' and `v2' are still set when calling this.") "Function for transforming a skeleton proxy's aliases' variable value.") (defvaralias 'skeleton-filter 'skeleton-filter-function) -(defvar skeleton-untabify t +(defvar skeleton-untabify nil ; bug#12223 "When non-nil untabifies when deleting backwards with element -ARG.") (defvar skeleton-newline-indent-rigidly nil From 806f0cc7302bd1dacfad8366f67a97e9bfbc8fc9 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Mon, 27 Aug 2012 20:33:05 +0800 Subject: [PATCH 25/25] Fix broken completion in sh-mode See: http://debbugs.gnu.org/12220 --- lisp/ChangeLog | 3 +++ lisp/progmodes/sh-script.el | 27 +++++++++------------------ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 456eca53a82..4ef437213a0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-08-27 Leo Liu + * progmodes/sh-script.el (sh-dynamic-complete-functions): Adapt to + completion-at-point. (Bug#12220) + * skeleton.el (skeleton-untabify): Change to nil (bug#12223). * progmodes/sh-script.el (sh-indent-comment): Change to t (bug#12267). diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 90f9ce3a52f..2d0cdeaeeae 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -202,6 +202,11 @@ (require 'comint)) (require 'executable) +(autoload 'comint-completion-at-point "comint") +(autoload 'comint-filename-completion "comint") +(autoload 'shell-command-completion "shell") +(autoload 'shell-environment-variable-completion "shell") + (defvar font-lock-comment-face) (defvar font-lock-set-defaults) (defvar font-lock-string-face) @@ -469,7 +474,6 @@ This is buffer-local in every such buffer.") (define-key map "`" 'skeleton-pair-insert-maybe) (define-key map "\"" 'skeleton-pair-insert-maybe) - (define-key map [remap complete-tag] 'comint-dynamic-complete) (define-key map [remap delete-backward-char] 'backward-delete-char-untabify) (define-key map "\C-c:" 'sh-set-shell) @@ -556,9 +560,9 @@ This is buffer-local in every such buffer.") "Value to use for `skeleton-pair-default-alist' in Shell-Script mode.") (defcustom sh-dynamic-complete-functions - '(shell-dynamic-complete-environment-variable - shell-dynamic-complete-command - comint-dynamic-complete-filename) + '(shell-environment-variable-completion + shell-command-completion + comint-filename-completion) "Functions for doing TAB dynamic completion." :type '(repeat function) :group 'sh-script) @@ -1490,6 +1494,7 @@ with your script for an edit-interpret-debug cycle." (set (make-local-variable 'local-abbrev-table) sh-mode-abbrev-table) (set (make-local-variable 'comint-dynamic-complete-functions) sh-dynamic-complete-functions) + (add-hook 'completion-at-point-functions 'comint-completion-at-point nil t) ;; we can't look if previous line ended with `\' (set (make-local-variable 'comint-prompt-regexp) "^[ \t]*") (set (make-local-variable 'imenu-case-fold-search) nil) @@ -3682,20 +3687,6 @@ The document is bounded by `sh-here-document-word'." ;; various other commands -(autoload 'comint-dynamic-complete "comint" - "Dynamically perform completion at point." t) - -(autoload 'shell-dynamic-complete-command "shell" - "Dynamically complete the command at point." t) - -(autoload 'comint-dynamic-complete-filename "comint" - "Dynamically complete the filename at point." t) - -(autoload 'shell-dynamic-complete-environment-variable "shell" - "Dynamically complete the environment variable at point." t) - - - (defun sh-beginning-of-command () "Move point to successive beginnings of commands." (interactive)