aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2014-08-14 21:34:06 -0700
committerGlenn Morris2014-08-14 21:34:06 -0700
commited30c57cc9cdcf8ddc169f4b042146db9b3b7179 (patch)
tree30e07052f35dcfb7c4616a30c8e9bdebb8a3526c
parentb9558683e3339fb95ff9cad1ced705f525d86d7a (diff)
parent315865d31dde9f0771f96a98a4562bd282aa21ea (diff)
downloademacs-ed30c57cc9cdcf8ddc169f4b042146db9b3b7179.tar.gz
emacs-ed30c57cc9cdcf8ddc169f4b042146db9b3b7179.zip
Merge from emacs-24; up to 2014-06-29T18:32:35Z!michael.albinus@gmx.de
-rw-r--r--lisp/ChangeLog11
-rw-r--r--lisp/speedbar.el9
-rw-r--r--lisp/subr.el5
-rw-r--r--src/ChangeLog5
-rw-r--r--src/gmalloc.c21
5 files changed, 46 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 713a1aab838..f96921d4329 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
12014-08-15 Leo Liu <sdl.web@gmail.com>
2
3 * speedbar.el (speedbar-generic-list-tag-p): Allow special
4 elements from imenu.
5
62014-08-15 Glenn Morris <rgm@gnu.org>
7
8 * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
9
12014-08-13 Jan Nieuwenhuizen <janneke@gnu.org> 102014-08-13 Jan Nieuwenhuizen <janneke@gnu.org>
2 11
3 * progmodes/compile.el (compilation-error-regexp-alist-alist): 12 * progmodes/compile.el (compilation-error-regexp-alist-alist):
@@ -7,7 +16,7 @@
7 16
8 * progmodes/gud.el (guiler): New function. Starts the Guile REPL; 17 * progmodes/gud.el (guiler): New function. Starts the Guile REPL;
9 add Guile debugger support for GUD. 18 add Guile debugger support for GUD.
10 19
112014-08-13 Stefan Monnier <monnier@iro.umontreal.ca> 202014-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
12 21
13 * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function. 22 * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function.
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 55e86e7fef3..11d2d435383 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -2111,9 +2111,10 @@ cell of the form ( 'DIRLIST . 'FILELIST )."
2111;; in order to make it look nice. 2111;; in order to make it look nice.
2112;; 2112;;
2113;; A generic list is of the form: 2113;; A generic list is of the form:
2114;; ( ("name" . marker-or-number) <-- one tag at this level 2114;; ( ("name" . marker-or-number) <-- one tag at this level
2115;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags 2115;; ("name" marker-or-number goto-fun . args) <-- one tag at this level
2116;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags 2116;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags
2117;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags
2117(defun speedbar-generic-list-group-p (sublst) 2118(defun speedbar-generic-list-group-p (sublst)
2118 "Non-nil if SUBLST is a group. 2119 "Non-nil if SUBLST is a group.
2119Groups may optionally contain a position." 2120Groups may optionally contain a position."
@@ -2144,6 +2145,8 @@ Groups may optionally contain a position."
2144 (and (stringp (car-safe sublst)) 2145 (and (stringp (car-safe sublst))
2145 (or (and (number-or-marker-p (cdr-safe sublst)) 2146 (or (and (number-or-marker-p (cdr-safe sublst))
2146 (not (cdr-safe (cdr-safe sublst)))) 2147 (not (cdr-safe (cdr-safe sublst))))
2148 (ignore-errors (and (number-or-marker-p (nth 1 sublst))
2149 (functionp (nth 2 sublst))))
2147 ;; For semantic/bovine items, this is needed 2150 ;; For semantic/bovine items, this is needed
2148 (symbolp (car-safe (cdr-safe sublst)))) 2151 (symbolp (car-safe (cdr-safe sublst))))
2149 )) 2152 ))
diff --git a/lisp/subr.el b/lisp/subr.el
index 9accb9d36c5..c168cf5fdb2 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3102,6 +3102,11 @@ buffer temporarily current, and the window that was used to display it
3102temporarily selected. But it doesn't run `temp-buffer-show-hook' 3102temporarily selected. But it doesn't run `temp-buffer-show-hook'
3103if it uses `temp-buffer-show-function'. 3103if it uses `temp-buffer-show-function'.
3104 3104
3105By default, the setup hook puts the buffer into Help mode before running BODY.
3106If BODY does not change the major mode, the show hook makes the buffer
3107read-only, and scans it for function and variable names to make them into
3108clickable cross-references.
3109
3105See the related form `with-temp-buffer-window'." 3110See the related form `with-temp-buffer-window'."
3106 (declare (debug t)) 3111 (declare (debug t))
3107 (let ((old-dir (make-symbol "old-dir")) 3112 (let ((old-dir (make-symbol "old-dir"))
diff --git a/src/ChangeLog b/src/ChangeLog
index b3d38fa0310..91b72e479d7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12014-08-15 Ken Brown <kbrown@cornell.edu>
2
3 * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use
4 ERRORCHECK mutexes. (Bug#18222)
5
12014-08-12 Martin Rudalics <rudalics@gmx.at> 62014-08-12 Martin Rudalics <rudalics@gmx.at>
2 7
3 * frame.c (set_menu_bar_lines_1): Remove. 8 * frame.c (set_menu_bar_lines_1): Remove.
diff --git a/src/gmalloc.c b/src/gmalloc.c
index ab1dfd07db2..27965e37539 100644
--- a/src/gmalloc.c
+++ b/src/gmalloc.c
@@ -490,8 +490,18 @@ register_heapinfo (void)
490} 490}
491 491
492#ifdef USE_PTHREAD 492#ifdef USE_PTHREAD
493/* On Cygwin prior to 1.7.31, pthread_mutexes were ERRORCHECK mutexes
494 by default. When the default changed to NORMAL in Cygwin-1.7.31,
495 deadlocks occurred (bug#18222). As a temporary workaround, we
496 explicitly set the mutexes to be of ERRORCHECK type, restoring the
497 previous behavior. */
498#ifdef CYGWIN
499pthread_mutex_t _malloc_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
500pthread_mutex_t _aligned_blocks_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
501#else /* not CYGWIN */
493pthread_mutex_t _malloc_mutex = PTHREAD_MUTEX_INITIALIZER; 502pthread_mutex_t _malloc_mutex = PTHREAD_MUTEX_INITIALIZER;
494pthread_mutex_t _aligned_blocks_mutex = PTHREAD_MUTEX_INITIALIZER; 503pthread_mutex_t _aligned_blocks_mutex = PTHREAD_MUTEX_INITIALIZER;
504#endif /* not CYGWIN */
495int _malloc_thread_enabled_p; 505int _malloc_thread_enabled_p;
496 506
497static void 507static void
@@ -526,14 +536,23 @@ malloc_enable_thread (void)
526 initialized mutexes when they are used first. To avoid such a 536 initialized mutexes when they are used first. To avoid such a
527 situation, we initialize mutexes here while their use is 537 situation, we initialize mutexes here while their use is
528 disabled in malloc etc. */ 538 disabled in malloc etc. */
539#ifdef CYGWIN
540 /* Use ERRORCHECK mutexes; see comment above. */
541 pthread_mutexattr_t attr;
542 pthread_mutexattr_init (&attr);
543 pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_ERRORCHECK);
544 pthread_mutex_init (&_malloc_mutex, &attr);
545 pthread_mutex_init (&_aligned_blocks_mutex, &attr);
546#else /* not CYGWIN */
529 pthread_mutex_init (&_malloc_mutex, NULL); 547 pthread_mutex_init (&_malloc_mutex, NULL);
530 pthread_mutex_init (&_aligned_blocks_mutex, NULL); 548 pthread_mutex_init (&_aligned_blocks_mutex, NULL);
549#endif /* not CYGWIN */
531 pthread_atfork (malloc_atfork_handler_prepare, 550 pthread_atfork (malloc_atfork_handler_prepare,
532 malloc_atfork_handler_parent, 551 malloc_atfork_handler_parent,
533 malloc_atfork_handler_child); 552 malloc_atfork_handler_child);
534 _malloc_thread_enabled_p = 1; 553 _malloc_thread_enabled_p = 1;
535} 554}
536#endif 555#endif /* USE_PTHREAD */
537 556
538static void 557static void
539malloc_initialize_1 (void) 558malloc_initialize_1 (void)