emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117706: Merge from emacs-24; up to r117445


From: Glenn Morris
Subject: [Emacs-diffs] trunk r117706: Merge from emacs-24; up to r117445
Date: Fri, 15 Aug 2014 04:34:44 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117706 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Thu 2014-08-14 21:34:06 -0700
message:
  Merge from emacs-24; up to r117445
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/speedbar.el               
speedbar.el-20091113204419-o5vbwnq5f7feedwu-1271
  lisp/subr.el                   subr.el-20091113204419-o5vbwnq5f7feedwu-151
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/gmalloc.c                  gmalloc.c-20091113204419-o5vbwnq5f7feedwu-1085
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-08-13 19:17:21 +0000
+++ b/lisp/ChangeLog    2014-08-15 04:34:06 +0000
@@ -1,3 +1,12 @@
+2014-08-15  Leo Liu  <address@hidden>
+
+       * speedbar.el (speedbar-generic-list-tag-p): Allow special
+       elements from imenu.
+
+2014-08-15  Glenn Morris  <address@hidden>
+
+       * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
+
 2014-08-13  Jan Nieuwenhuizen  <address@hidden>
 
        * 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  <address@hidden>
 
        * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function.

=== modified file 'lisp/speedbar.el'
--- a/lisp/speedbar.el  2014-04-22 21:32:51 +0000
+++ b/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'
--- a/lisp/subr.el      2014-07-11 09:09:54 +0000
+++ b/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'
--- a/src/ChangeLog     2014-08-12 09:47:27 +0000
+++ b/src/ChangeLog     2014-08-15 04:34:06 +0000
@@ -1,3 +1,8 @@
+2014-08-15  Ken Brown  <address@hidden>
+
+       * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use
+       ERRORCHECK mutexes.  (Bug#18222)
+
 2014-08-12  Martin Rudalics  <address@hidden>
 
        * frame.c (set_menu_bar_lines_1): Remove.

=== modified file 'src/gmalloc.c'
--- a/src/gmalloc.c     2014-05-22 16:40:35 +0000
+++ b/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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]