------------------------------------------------------------ revno: 117706 [merge] committer: Glenn Morris branch nick: trunk timestamp: Thu 2014-08-14 21:34:06 -0700 message: Merge from emacs-24; up to r117445 diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-08-13 19:17:21 +0000 +++ lisp/ChangeLog 2014-08-15 04:34:06 +0000 @@ -1,3 +1,12 @@ +2014-08-15 Leo Liu + + * speedbar.el (speedbar-generic-list-tag-p): Allow special + elements from imenu. + +2014-08-15 Glenn Morris + + * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual. + 2014-08-13 Jan Nieuwenhuizen * progmodes/compile.el (compilation-error-regexp-alist-alist): @@ -7,7 +16,7 @@ * progmodes/gud.el (guiler): New function. Starts the Guile REPL; add Guile debugger support for GUD. - + 2014-08-13 Stefan Monnier * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function. === modified file 'lisp/speedbar.el' --- lisp/speedbar.el 2014-04-22 21:32:51 +0000 +++ lisp/speedbar.el 2014-08-15 04:34:06 +0000 @@ -2111,9 +2111,10 @@ ;; in order to make it look nice. ;; ;; A generic list is of the form: -;; ( ("name" . marker-or-number) <-- one tag at this level -;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags -;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags +;; ( ("name" . marker-or-number) <-- one tag at this level +;; ("name" marker-or-number goto-fun . args) <-- one tag at this level +;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags +;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags (defun speedbar-generic-list-group-p (sublst) "Non-nil if SUBLST is a group. Groups may optionally contain a position." @@ -2144,6 +2145,8 @@ (and (stringp (car-safe sublst)) (or (and (number-or-marker-p (cdr-safe sublst)) (not (cdr-safe (cdr-safe sublst)))) + (ignore-errors (and (number-or-marker-p (nth 1 sublst)) + (functionp (nth 2 sublst)))) ;; For semantic/bovine items, this is needed (symbolp (car-safe (cdr-safe sublst)))) )) === modified file 'lisp/subr.el' --- lisp/subr.el 2014-07-11 09:09:54 +0000 +++ lisp/subr.el 2014-08-15 04:34:06 +0000 @@ -3102,6 +3102,11 @@ temporarily selected. But it doesn't run `temp-buffer-show-hook' if it uses `temp-buffer-show-function'. +By default, the setup hook puts the buffer into Help mode before running BODY. +If BODY does not change the major mode, the show hook makes the buffer +read-only, and scans it for function and variable names to make them into +clickable cross-references. + See the related form `with-temp-buffer-window'." (declare (debug t)) (let ((old-dir (make-symbol "old-dir")) === modified file 'src/ChangeLog' --- src/ChangeLog 2014-08-12 09:47:27 +0000 +++ src/ChangeLog 2014-08-15 04:34:06 +0000 @@ -1,3 +1,8 @@ +2014-08-15 Ken Brown + + * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use + ERRORCHECK mutexes. (Bug#18222) + 2014-08-12 Martin Rudalics * frame.c (set_menu_bar_lines_1): Remove. === modified file 'src/gmalloc.c' --- src/gmalloc.c 2014-05-22 16:40:35 +0000 +++ src/gmalloc.c 2014-08-15 04:34:06 +0000 @@ -490,8 +490,18 @@ } #ifdef USE_PTHREAD +/* On Cygwin prior to 1.7.31, pthread_mutexes were ERRORCHECK mutexes + by default. When the default changed to NORMAL in Cygwin-1.7.31, + deadlocks occurred (bug#18222). As a temporary workaround, we + explicitly set the mutexes to be of ERRORCHECK type, restoring the + previous behavior. */ +#ifdef CYGWIN +pthread_mutex_t _malloc_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; +pthread_mutex_t _aligned_blocks_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; +#else /* not CYGWIN */ pthread_mutex_t _malloc_mutex = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_t _aligned_blocks_mutex = PTHREAD_MUTEX_INITIALIZER; +#endif /* not CYGWIN */ int _malloc_thread_enabled_p; static void @@ -526,14 +536,23 @@ initialized mutexes when they are used first. To avoid such a situation, we initialize mutexes here while their use is disabled in malloc etc. */ +#ifdef CYGWIN + /* Use ERRORCHECK mutexes; see comment above. */ + pthread_mutexattr_t attr; + pthread_mutexattr_init (&attr); + pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ERRORCHECK); + pthread_mutex_init (&_malloc_mutex, &attr); + pthread_mutex_init (&_aligned_blocks_mutex, &attr); +#else /* not CYGWIN */ pthread_mutex_init (&_malloc_mutex, NULL); pthread_mutex_init (&_aligned_blocks_mutex, NULL); +#endif /* not CYGWIN */ pthread_atfork (malloc_atfork_handler_prepare, malloc_atfork_handler_parent, malloc_atfork_handler_child); _malloc_thread_enabled_p = 1; } -#endif +#endif /* USE_PTHREAD */ static void malloc_initialize_1 (void) ------------------------------------------------------------ revno: 117705 author: Alan Schmitt committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2014-08-14 11:31:23 +0000 message: gnus-sum.el (gnus-summary-expire-articles): Reinstall improved version of the 2014-08-05 change diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2014-08-13 14:16:48 +0000 +++ lisp/gnus/ChangeLog 2014-08-14 11:31:23 +0000 @@ -1,3 +1,9 @@ +2014-08-14 Alan Schmitt + + * gnus-sum.el (gnus-summary-expire-articles): Functions registered to + the gnus-summary-article-expire-hook should be told where the function + is going. In particular, the Gnus registry might want to know. + 2014-08-12 Stefan Monnier * gnus-art.el (gnus-hidden-properties): Drop the evil `intangible'. === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2014-08-06 11:14:08 +0000 +++ lisp/gnus/gnus-sum.el 2014-08-14 11:31:23 +0000 @@ -10444,13 +10444,19 @@ (when (and (not (memq article es)) (gnus-data-find article)) (gnus-summary-mark-article article gnus-canceled-mark) - (run-hook-with-args 'gnus-summary-article-expire-hook - 'delete - (gnus-data-header - (assoc article (gnus-data-list nil))) - gnus-newsgroup-name - nil - nil))))))) + (run-hook-with-args + 'gnus-summary-article-expire-hook + 'delete + (gnus-data-header (assoc article (gnus-data-list nil))) + gnus-newsgroup-name + (cond + ((stringp nnmail-expiry-target) nnmail-expiry-target) + ((eq nnmail-expiry-target 'delete) nil) + (t + (let ((rescall (funcall nnmail-expiry-target + gnus-newsgroup-name))) + (if (stringp rescall) rescall nil)))) + nil))))))) (gnus-message 6 "Expiring articles...done"))))) (defun gnus-summary-expire-articles-now () ------------------------------------------------------------ revno: 117704 committer: Jan Nieuwenhuizen branch nick: trunk timestamp: Wed 2014-08-13 21:17:21 +0200 message: Support Guile backtraces in compilation mode. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add Guile regexpses. * etc/compilation.txt (file): Add Guile backtrace example. * test/automated/compile-tests.el (compile--test-error-line): Grok FILE being nil. Allows for Guile tests to pass. (compile-tests--test-regexps-data): Add Guile tests. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-08-09 16:12:33 +0000 +++ etc/ChangeLog 2014-08-13 19:17:21 +0000 @@ -1,3 +1,7 @@ +2014-08-08 Jan Nieuwenhuizen + + * compilation.txt (file): Add Guile backtrace example. + 2014-08-09 Reuben Thomas * PROBLEMS: Remove msdos/is_exec.c and sigaction.c. === modified file 'etc/compilation.txt' --- etc/compilation.txt 2014-01-01 07:43:34 +0000 +++ etc/compilation.txt 2014-08-13 19:17:21 +0000 @@ -261,6 +261,26 @@ {standard input}:27041: Warning: end of file not at end of a line; newline inserted +* Guile backtrace, 2.0.11 + +symbols: guile-file, guile-line + +Backtrace: +In ice-9/boot-9.scm: + 157: 6 [catch #t # ...] +In unknown file: + ?: 5 [apply-smob/1 #] +In ice-9/boot-9.scm: + 63: 4 [call-with-prompt prompt0 ...] +In ice-9/eval.scm: + 432: 3 [eval # #] +In unknown file: + ?: 2 [eval (main (command-line)) #] +In /home/janneke/vc/guile/examples/gud-break.scm: +1038: 1 [main ("gud-break.scm")] +1033: 0 [stderr "~a:hello world\n" (# # #)] + + * Lucid Compiler, lcc 3.x symbol: lcc === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-08-13 19:15:28 +0000 +++ lisp/ChangeLog 2014-08-13 19:17:21 +0000 @@ -1,5 +1,10 @@ 2014-08-13 Jan Nieuwenhuizen + * progmodes/compile.el (compilation-error-regexp-alist-alist): + Add Guile regexpses. + +2014-08-13 Jan Nieuwenhuizen + * progmodes/gud.el (guiler): New function. Starts the Guile REPL; add Guile debugger support for GUD. === modified file 'lisp/progmodes/compile.el' --- lisp/progmodes/compile.el 2014-05-29 03:45:29 +0000 +++ lisp/progmodes/compile.el 2014-08-13 19:17:21 +0000 @@ -477,6 +477,8 @@ ;; "^\\([^ \t\r\n(]+\\) (\\([0-9]+\\):\\([0-9]+\\)) " 1 2 3) + (guile-file "^In \\(.+\\):\n" 1) + (guile-line "^ *\\([0-9]+\\): *\\([0-9]+\\)" nil 1 2) ) "Alist of values for `compilation-error-regexp-alist'.") === modified file 'test/ChangeLog' --- test/ChangeLog 2014-08-11 00:59:34 +0000 +++ test/ChangeLog 2014-08-13 19:17:21 +0000 @@ -1,3 +1,9 @@ +2014-08-13 Jan Nieuwenhuizen + + * automated/compile-tests.el (compile--test-error-line): Grok FILE + being nil. Allows for Guile tests to pass. + (compile-tests--test-regexps-data): Add Guile tests. + 2014-08-11 Glenn Morris * automated/data/files-bug18141.el.gz: New file. === modified file 'test/automated/compile-tests.el' --- test/automated/compile-tests.el 2014-01-01 07:43:34 +0000 +++ test/automated/compile-tests.el 2014-08-13 19:17:21 +0000 @@ -190,6 +190,10 @@ 1 nil 54 "G:/cygwin/dev/build-myproj.xml") ("{standard input}:27041: Warning: end of file not at end of a line; newline inserted" 1 nil 27041 "{standard input}") + ;; Guile + ("In foo.scm:\n" 1 nil nil "foo.scm") + (" 63:4 [call-with-prompt prompt0 ...]" 1 4 63 nil) + ("1038: 1 [main (\"gud-break.scm\")]" 1 1 1038 nil) ;; lcc ("E, file.cc(35,52) Illegal operation on pointers" 1 52 35 "file.cc") ("W, file.cc(36,52) blah blah" 1 52 36 "file.cc") @@ -338,7 +342,8 @@ (setq end-line (cdr line) line (car line))) (and (equal (compilation--loc->col loc) col) (equal (compilation--loc->line loc) line) - (equal (caar (compilation--loc->file-struct loc)) file) + (or (not file) + (equal (caar (compilation--loc->file-struct loc)) file)) (or (null end-col) (equal (car (cadr (nth 2 (compilation--loc->file-struct loc)))) end-col)) ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.