------------------------------------------------------------ revno: 117748 committer: Dmitry Antipov branch nick: trunk timestamp: Wed 2014-08-27 08:15:20 +0400 message: Fix some glitches in previous change. * sysdep.c (stack_direction): Replace stack_grows_down to simplify calculation of stack boundaries. (handle_sigsegv): Check whether we really crash somewhere near to stack boundary, and handle fatal signal as usual if not. (init_sigsegv): Adjust accordingly. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-08-26 17:55:07 +0000 +++ src/ChangeLog 2014-08-27 04:15:20 +0000 @@ -1,3 +1,12 @@ +2014-08-27 Dmitry Antipov + + Fix some glitches in previous change. + * sysdep.c (stack_direction): Replace stack_grows_down + to simplify calculation of stack boundaries. + (handle_sigsegv): Check whether we really crash somewhere near + to stack boundary, and handle fatal signal as usual if not. + (init_sigsegv): Adjust accordingly. + 2014-08-26 Dmitry Antipov Handle C stack overflow caused by too nested Lisp evaluation. === modified file 'src/keyboard.c' --- src/keyboard.c 2014-08-26 06:25:59 +0000 +++ src/keyboard.c 2014-08-27 04:15:20 +0000 @@ -11028,7 +11028,7 @@ #ifdef HAVE_STACK_OVERFLOW_HANDLING recover_top_level_message = build_pure_c_string ("Re-entering top level after C stack overflow"); -#endif +#endif DEFVAR_LISP ("top-level-message", Vtop_level_message, doc: /* Message displayed by `normal-top-level'. */); Vtop_level_message = regular_top_level_message; === modified file 'src/sysdep.c' --- src/sysdep.c 2014-08-26 08:01:48 +0000 +++ src/sysdep.c 2014-08-27 04:15:20 +0000 @@ -1720,9 +1720,9 @@ #ifdef HAVE_STACK_OVERFLOW_HANDLING -/* True if stack grows down as expected on most OS/ABI variants. */ +/* -1 if stack grows down as expected on most OS/ABI variants, 1 otherwise. */ -static bool stack_grows_down; +static int stack_direction; /* Alternate stack used by SIGSEGV handler below. */ @@ -1741,17 +1741,25 @@ if (!getrlimit (RLIMIT_STACK, &rlim)) { - enum { STACK_EXTRA = 16 * 1024 }; - char *fault_addr = (char *) siginfo->si_addr; - unsigned long used = (stack_grows_down - ? stack_bottom - fault_addr - : fault_addr - stack_bottom); + enum { STACK_DANGER_ZONE = 16 * 1024 }; + char *beg, *end, *addr; - if (used + STACK_EXTRA > rlim.rlim_cur) - /* Most likely this is it. */ + beg = stack_bottom; + end = stack_bottom + stack_direction * rlim.rlim_cur; + if (beg > end) + addr = beg, beg = end, end = addr; + addr = (char *) siginfo->si_addr; + /* If we're somewhere on stack and too close to + one of its boundaries, most likely this is it. */ + if (beg < addr && addr < end + && (addr - beg < STACK_DANGER_ZONE + || end - addr < STACK_DANGER_ZONE)) siglongjmp (return_to_command_loop, 1); } } + + /* Otherwise we can't do anything with this. */ + deliver_fatal_thread_signal (sig); } /* Return true if we have successfully set up SIGSEGV handler on alternate @@ -1763,7 +1771,7 @@ struct sigaction sa; stack_t ss; - stack_grows_down = ((char *) &ss < stack_bottom); + stack_direction = ((char *) &ss < stack_bottom) ? -1 : 1; ss.ss_sp = sigsegv_stack; ss.ss_size = sizeof (sigsegv_stack); ------------------------------------------------------------ revno: 117747 committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2014-08-26 23:56:11 +0000 message: gnus-art.el (gnus-article-browse-html-save-cid-content, gnus-article-browse-html-parts): Revert last change that breaks links other than cid contents diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2014-08-26 23:28:22 +0000 +++ lisp/gnus/ChangeLog 2014-08-26 23:56:11 +0000 @@ -1,6 +1,12 @@ 2014-08-26 Katsumi Yamaoka * gnus-art.el (gnus-article-browse-html-save-cid-content) + (gnus-article-browse-html-parts): + Revert last change that breaks links other than cid contents. + +2014-08-26 Katsumi Yamaoka + + * gnus-art.el (gnus-article-browse-html-save-cid-content) (gnus-article-browse-html-parts): Make cid file names relative. 2014-08-21 Katsumi Yamaoka === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2014-08-26 23:28:22 +0000 +++ lisp/gnus/gnus-art.el 2014-08-26 23:56:11 +0000 @@ -2806,15 +2806,16 @@ cid handle directory)) (throw 'found file))) ((equal (concat "<" cid ">") (mm-handle-id handle)) - (setq file (or (mm-handle-filename handle) - (concat - (make-temp-name "cid") - (car (rassoc (car (mm-handle-type handle)) - mailcap-mime-extensions))))) - (mm-save-part-to-file handle (expand-file-name file directory)) - (throw 'found (concat (file-name-nondirectory - (directory-file-name directory)) - "/" file))))))))) + (setq file + (expand-file-name + (or (mm-handle-filename handle) + (concat + (make-temp-name "cid") + (car (rassoc (car (mm-handle-type handle)) + mailcap-mime-extensions)))) + directory)) + (mm-save-part-to-file handle file) + (throw 'found file)))))))) (defun gnus-article-browse-html-parts (list &optional header) "View all \"text/html\" parts from LIST. @@ -2848,19 +2849,6 @@ (mm-enable-multibyte) (mm-disable-multibyte)) (insert content) - ;; remove - (let ((case-fold-search t)) - (goto-char (point-min)) - (when (and (search-forward "" nil t) - (progn - (save-restriction - (narrow-to-region - (point) - (or (search-forward "" nil t) (point))) - (goto-char (point-min))) - (re-search-forward - "[\t\n ]*]+>[\t\n ]*" nil t))) - (replace-match "\n"))) ;; resolve cid contents (let ((case-fold-search t) cid-file) @@ -2879,7 +2867,16 @@ (with-current-buffer gnus-article-buffer gnus-article-mime-handles) cid-dir)) - (replace-match cid-file nil nil nil 1)))) + (when (eq system-type 'cygwin) + (setq cid-file + (concat "/" (substring + (with-output-to-string + (call-process "cygpath" nil + standard-output + nil "-m" cid-file)) + 0 -1)))) + (replace-match (concat "file://" cid-file) + nil nil nil 1)))) (unless content (setq content (buffer-string)))) (when (or charset header (not file)) (setq tmp-file (mm-make-temp-file ------------------------------------------------------------ revno: 117746 committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2014-08-26 23:28:22 +0000 message: gnus-art.el (gnus-article-browse-html-save-cid-content, gnus-article-browse-html-parts): Make cid file names relative diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2014-08-21 23:02:23 +0000 +++ lisp/gnus/ChangeLog 2014-08-26 23:28:22 +0000 @@ -1,3 +1,8 @@ +2014-08-26 Katsumi Yamaoka + + * gnus-art.el (gnus-article-browse-html-save-cid-content) + (gnus-article-browse-html-parts): Make cid file names relative. + 2014-08-21 Katsumi Yamaoka * mm-view.el (mm-display-inline-fontify): Make the working buffer === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2014-08-12 02:47:36 +0000 +++ lisp/gnus/gnus-art.el 2014-08-26 23:28:22 +0000 @@ -2806,16 +2806,15 @@ cid handle directory)) (throw 'found file))) ((equal (concat "<" cid ">") (mm-handle-id handle)) - (setq file - (expand-file-name - (or (mm-handle-filename handle) - (concat - (make-temp-name "cid") - (car (rassoc (car (mm-handle-type handle)) - mailcap-mime-extensions)))) - directory)) - (mm-save-part-to-file handle file) - (throw 'found file)))))))) + (setq file (or (mm-handle-filename handle) + (concat + (make-temp-name "cid") + (car (rassoc (car (mm-handle-type handle)) + mailcap-mime-extensions))))) + (mm-save-part-to-file handle (expand-file-name file directory)) + (throw 'found (concat (file-name-nondirectory + (directory-file-name directory)) + "/" file))))))))) (defun gnus-article-browse-html-parts (list &optional header) "View all \"text/html\" parts from LIST. @@ -2849,6 +2848,19 @@ (mm-enable-multibyte) (mm-disable-multibyte)) (insert content) + ;; remove + (let ((case-fold-search t)) + (goto-char (point-min)) + (when (and (search-forward "" nil t) + (progn + (save-restriction + (narrow-to-region + (point) + (or (search-forward "" nil t) (point))) + (goto-char (point-min))) + (re-search-forward + "[\t\n ]*]+>[\t\n ]*" nil t))) + (replace-match "\n"))) ;; resolve cid contents (let ((case-fold-search t) cid-file) @@ -2867,16 +2879,7 @@ (with-current-buffer gnus-article-buffer gnus-article-mime-handles) cid-dir)) - (when (eq system-type 'cygwin) - (setq cid-file - (concat "/" (substring - (with-output-to-string - (call-process "cygpath" nil - standard-output - nil "-m" cid-file)) - 0 -1)))) - (replace-match (concat "file://" cid-file) - nil nil nil 1)))) + (replace-match cid-file nil nil nil 1)))) (unless content (setq content (buffer-string)))) (when (or charset header (not file)) (setq tmp-file (mm-make-temp-file ------------------------------------------------------------ revno: 117745 fixes bug: http://debbugs.gnu.org/2263 committer: Glenn Morris branch nick: trunk timestamp: Tue 2014-08-26 13:58:06 -0400 message: authors.el updates and sorting change * admin/authors.el (authors-ignored-files, authors-valid-file-names) (authors-renamed-files-alist): Additions. (authors-renamed-files-alist): Revert 2014-08-09 change. (authors): Sort authors in utf-8 order. diff: === modified file 'admin/ChangeLog' --- admin/ChangeLog 2014-08-09 16:12:33 +0000 +++ admin/ChangeLog 2014-08-26 17:58:06 +0000 @@ -1,3 +1,10 @@ +2014-08-26 Glenn Morris + + * authors.el (authors-ignored-files, authors-valid-file-names) + (authors-renamed-files-alist): Additions. + (authors-renamed-files-alist): Revert 2014-08-09 change. + (authors): Sort authors in utf-8 order. (Bug#2263) + 2014-08-09 Reuben Thomas * notes/copyright: Remove mention of msdos/is_exec.c and === modified file 'admin/authors.el' --- admin/authors.el 2014-08-09 16:12:33 +0000 +++ admin/authors.el 2014-08-26 17:58:06 +0000 @@ -283,6 +283,7 @@ "images/icons/allout-widgets-dark-bg" "images/icons/allout-widgets-light-bg" ;; Never had any meaningful changes logged, now deleted: + "lib/stdarg.in.h" "lib/stdbool.in.h" "unidata/bidimirror.awk" "unidata/biditype.awk" "split-man" "Xkeymap.txt" "ms-7bkermit" "ulimit.hack" "gnu-hp300" "refcard.bit" "ledit.l" "forms.README" "forms-d2.dat" @@ -575,9 +576,10 @@ "README" ;; There were a few of these, not just the generated top-level one. "configure" "config.h" + "is_exec.c" "sigaction.c" ;; nt/ "ebuild.bat" "install.bat" "fast-install.bat" - "debug.bat.in" "emacs.bat.in" + "debug.bat.in" "emacs.bat.in" "addsection.c" "inc/sys/dir.h" "inc/gettext.h" ".gdbinit-union" "alloca.s" @@ -631,6 +633,8 @@ "mh-exec.el" "mh-init.el" "mh-customize.el" "net/zone-mode.el" "xesam.el" "term/mac-win.el" "sup-mouse.el" + "term/vt102.el" "term/vt201.el" "term/vt220.el" "term/vt300.el" + "term/vt320.el" "term/vt400.el" "term/vt420.el" "url-https.el" "org-mac-message.el" "org-mew.el" "org-w3m.el" "org-vm.el" "org-wl.el" "org-mks.el" "org-remember.el" "org-xoxo.el" "org-docbook.el" @@ -638,6 +642,7 @@ "org-exp-blocks.el" ; maybe this is ob-exp now? dunno "org-lparse.el" "org-special-blocks.el" "org-taskjuggler.el" + "progmodes/cap-words.el" ;; gnus "nnwfm.el" "nnlistserv.el" "nnkiboze.el" "nndb.el" "nnsoup.el" "netrc.el" "password.el" "sasl-cram.el" "sasl-digest.el" "sasl-ntlm.el" @@ -712,6 +717,7 @@ ("server.c" . "emacsserver.c") ("lib-src/etags.c" . "etags.c") ;; msdos/ + ("is-exec.c" . "is_exec.c") ("enriched.doc" . "enriched.txt") ("GETTING.GNU.SOFTWARE" . "FTP") ("etc/MACHINES" . "MACHINES") @@ -755,6 +761,13 @@ ;; Obsolete. ("emacs-lisp/assoc.el" . "assoc.el") ("emacs-lisp/cust-print.el" . "cust-print.el") + ("emacs-lisp/gulp.el" . "gulp.el") + ("emulation/crisp.el" . "crisp.el") + ("emulation/tpu-edt.el" . "tpu-edt.el") + ("emulation/tpu-extras.el" . "tpu-extras.el") + ("emulation/vi.el" . "vi.el") + ("emulation/vip.el" . "vip.el") + ("emulation/ws-mode.el" . "ws-mode.el") ("mail/mailpost.el" . "mailpost.el") ("play/bruce.el" . "bruce.el") ("play/yow.el" . "yow.el") @@ -786,6 +799,8 @@ ("emacs.tex" . "emacs.texi") ("faq.texi" . "efaq.texi") ("major.texi" . "modes.texi") + ("msdog-xtra.texi" . "msdos-xtra.texi") + ("msdog.texi" . "msdos.texi") ;; And from emacs/ to misc/ and back again. ("ns-emacs.texi" . "macos.texi") ("overrides.texi" . "gnus-overrides.texi") @@ -824,6 +839,8 @@ ("autogen/update_autogen" . "update_autogen") ;; Moved from etc/ to admin/. ("grammars" . "grammars") + ;; Moved from lisp/emacs-lisp/ to admin/. + ("emacs-lisp/authors.el" . "authors.el") ;; From etc to lisp/cedet/semantic/. ("grammars/bovine-grammar.el" . "bovine/grammar.el") ("grammars/wisent-grammar.el" . "wisent/grammar.el") @@ -1295,8 +1312,11 @@ (let (authors-author-list) (maphash #'authors-add-to-author-list table) (setq authors-author-list - (sort authors-author-list - (lambda (a b) (string-lessp (car a) (car b))))) + (let ((process-environment (cons "LC_COLLATE=en_US.UTF-8" + process-environment))) + (sort authors-author-list + (lambda (a b) + (string-collate-lessp (car a) (car b)))))) (dolist (a authors-author-list) (let ((author (car a)) (wrote (nth 1 a)) ------------------------------------------------------------ revno: 117744 committer: Glenn Morris branch nick: trunk timestamp: Tue 2014-08-26 13:55:07 -0400 message: ChangeLog fixes diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-08-26 06:25:59 +0000 +++ lisp/ChangeLog 2014-08-26 17:55:07 +0000 @@ -140,12 +140,12 @@ 2014-08-13 Eric S. Raymond - * vc/vc.git.el (vc-git-resolve-when-done): New function. + * vc/vc-git.el (vc-git-resolve-when-done): New function. Call "git add" when there are no longer conflict markers. 2014-08-13 Rüdiger Sonderfeld - * vc/vc.git.el (vc-git-find-file-hook): New function. + * vc/vc-git.el (vc-git-find-file-hook): New function. Adds support for calling smerge (and resolve) on a conflicted file. (vc-git-conflicted-files): New function. Useful in itself and a step towards better smerge support. @@ -281,24 +281,13 @@ 2014-08-07 Eli Zaretskii - * files.el (auto-mode-alist): Remove support for VMS from a - pattern. - -2014-08-07 Reuben Thomas - - Refer to MS-DOS using the same name everywhere. - - * arc-mode.el: Fix a couple of ``MS-DOG''s missed in the previous - commit. - * file-mode.el: ditto. - -2014-08-07 Reuben Thomas - - Refer to MS-DOS using the same name everywhere. - - * arc-mode.el: ``MS-DOG'', ``MSDOG'' and ``msdog'' become - ``MS-DOS''. - * frame.el: ditto. + * files.el (auto-mode-alist): Remove support for VMS from a pattern. + +2014-08-07 Reuben Thomas + + Refer to MS-DOS using the same name everywhere. + * arc-mode.el, files.el, frame.el: ``MS-DOG'', ``MSDOG'' and + ``msdog'' become ``MS-DOS''. 2014-08-07 Michael Albinus @@ -3958,9 +3947,7 @@ 2014-03-23 Daniel Colascione Change subword-mode to use `find-word-boundary-function-table' and - replace `capitalized-words-mode'. Also, convert to lexical - binding. - + replace `capitalized-words-mode'. Also, convert to lexical binding. * progmodes/cap-words.el: Delete now-obsolete file. * progmodes/subword.el: Reimplement using `find-word-boundary-function-table'. === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2014-08-09 18:48:45 +0000 +++ msdos/ChangeLog 2014-08-26 17:55:07 +0000 @@ -4,11 +4,12 @@ 2014-08-09 Reuben Thomas + * is_exec.c, sigaction.c: Remove files. * sed2v2.inp: Remove support for DJGPP 2.01. * INSTALL: Don't mention removed files msdos/is_exec.c and sigaction.c, and increase minimum version of DJGPP to 2.02. * README: Remove note on legal status of removed files - msdos/is_exec.c and sigaction.c. + is_exec.c and sigaction.c. 2014-04-16 Eli Zaretskii === modified file 'nt/ChangeLog' --- nt/ChangeLog 2014-06-15 17:45:38 +0000 +++ nt/ChangeLog 2014-08-26 17:55:07 +0000 @@ -18,8 +18,7 @@ * Makefile.in (DONT_INSTALL): Now empty. (addsection${EXEEXT}): Remove target. - - * addsection.c: File removed. + * addsection.c: Remove file. 2014-05-27 Fabrice Popineau === modified file 'src/ChangeLog' --- src/ChangeLog 2014-08-26 06:25:59 +0000 +++ src/ChangeLog 2014-08-26 17:55:07 +0000 @@ -43,7 +43,7 @@ One more minor cleanup of font subsystem. * font.h (struct font_driver): Convert text_extents to return void because returned value is never actually used. - * macfont.c (macfont_text_extents): + * macfont.m (macfont_text_extents): * w32font.c (w32font_text_extents): * xftfont.c (xftfont_text_extents): Adjust to return void and assume that 'metrics' argument is always non-NULL. @@ -206,9 +206,10 @@ 2014-08-09 Reuben Thomas * alloc.c (Fmemory_info): Remove a stray brace. + * process.c: Fix a comment typo. - * msdos.c: - * dosfns.c (init_dosfns): Remove support for DJGPP < 2.02. + + * msdos.c, dosfns.c (init_dosfns): Remove support for DJGPP < 2.02. 2014-08-09 Jan Djärv ------------------------------------------------------------ revno: 117743 committer: Dmitry Antipov branch nick: trunk timestamp: Tue 2014-08-26 18:42:06 +0400 message: * configure.ac (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris. diff: === modified file 'ChangeLog' --- ChangeLog 2014-08-26 06:25:59 +0000 +++ ChangeLog 2014-08-26 14:42:06 +0000 @@ -5,6 +5,8 @@ support. Unconditionally check for sigsetjmp and siglongjmp. (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it. + (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris. + 2014-08-25 Ken Brown * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro. === modified file 'configure.ac' --- configure.ac 2014-08-26 06:25:59 +0000 +++ configure.ac 2014-08-26 14:42:06 +0000 @@ -1526,10 +1526,15 @@ [Define to 1 if personality LINUX32 can be set.]) fi +# Note that Solaris has sys/sysinfo.h which defines struct +# sysinfo as well. To make sure that we're using GNU/Linux +# sysinfo, we explicitly set one of its fields. if test "$ac_cv_header_sys_sysinfo_h" = yes; then AC_MSG_CHECKING([if Linux sysinfo may be used]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[struct sysinfo si; sysinfo (&si)]])], + [[struct sysinfo si; + si.totalram = 0; + sysinfo (&si)]])], emacs_cv_linux_sysinfo=yes, emacs_cv_linux_sysinfo=no) AC_MSG_RESULT($emacs_cv_linux_sysinfo) if test $emacs_cv_linux_sysinfo = yes; then ------------------------------------------------------------ revno: 117742 committer: Dmitry Antipov branch nick: trunk timestamp: Tue 2014-08-26 12:01:48 +0400 message: * sysdep.c (init_sigsegv) [HAVE_STACK_OVERFLOW_HANDLING]: Add comment. diff: === modified file 'src/sysdep.c' --- src/sysdep.c 2014-08-26 06:25:59 +0000 +++ src/sysdep.c 2014-08-26 08:01:48 +0000 @@ -1754,6 +1754,9 @@ } } +/* Return true if we have successfully set up SIGSEGV handler on alternate + stack. Otherwise we just treat SIGSEGV among the rest of fatal signals. */ + static bool init_sigsegv (void) {