emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master updated (fc0fd24 -> 2412a1f)


From: Eli Zaretskii
Subject: [Emacs-diffs] master updated (fc0fd24 -> 2412a1f)
Date: Sat, 10 Dec 2016 17:08:07 +0000 (UTC)

eliz pushed a change to branch master.

      from  fc0fd24   Fix further problems with quoted file names in Tramp
      adds  68b3248   This introduces a thread-state object and moves various C 
globals there.  It also introduces #defines for these globals to avoid a 
monster patch.
      adds  2d525b7   This parameterizes the GC a bit to make it thread-ready.
      adds  14b3dc5   This introduces the low-level system threading support.  
It also adds the global lock.  The low-level support is a bit over-eager, in 
that even at the end of the present series, it will not all be used.  I think 
thiat is ok since I plan to use it all eventually -- in particular for the 
emacs lisp mutex implementation.
      adds  e160922   This introduces some new functions to handle the specpdl. 
 The basic idea is that when a thread loses the interpreter lock, it will 
unbind the bindings it has put in place.  Then when a thread acquires the lock, 
it will restore its bindings.
      adds  60a9d2a   This turns thread_state into a pseudovector and updates 
various bits of Emacs to cope.
      adds  1dcacbc   This adds most of the thread features visible to emacs 
lisp.
      adds  51100bb   This supplies the mutex implementation for Emacs Lisp.
      adds  fc196ac   This adds some tests of the threading code.
      adds  8d3566c   This adds names to mutexes.  This seemed like a nice 
debugging extension.
      adds  dbb33d4   This adds thread-blocker, a function to examine what a 
thread is blocked on.  I thought this would be another nice debugging addition.
      adds  0ccc5d8   fix a latent bug in process.c
      adds  aa14ccd1  Prepare process.c for threads by not having global select 
masks. The next step is to make it so selects can choose fds by thread.
      adds  6c0d5ae   process changes
      adds  c26c683   add test case for I/O switching
      adds  abb9e9d   declare unbind_for_thread_switch and 
rebind_for_thread_switch in lisp.h
      adds  f52cfea   write docstrings for the thread functions
      adds  b3c78ff   refactor systhread.h
      adds  ee1464e   comment fixes
      adds  5651640   condition variables
      adds  977c4aa   use NILP
      adds  3cbf5b1   ensure name of a mutex is a string
      adds  9dad5e5   ensure name of a thread is a string
      adds  1fb339b   add condition-mutex and condition-name
      adds  266c1c2   minor docstring fixup
      adds  b94de89   another docstring fixlet
      adds  49bc1a9   Merge from trunk
      adds  fb77afb   add convenience macros with-mutex and until-condition
      adds  68608de   pass the thread name to the OS if possible
      adds  66ddd17   document process-thread and set-process-thread
      adds  c6bb874   rename condition-variablep to condition-variable-p
      adds  0ec3764   first draft of threads documentation
      adds  c2283a7   document until-condition
      adds  58c8e9a   minor documentation updates
      adds  09d7066   minor update to thread-join docs
      adds  e7c4e87   add tests for variable bindings
      adds  599d4a9   fix test suite for condition-variable-p name change
      adds  587dd92   cannot thread-join the current thread
      adds  303324a   link from thread docs to match data
      adds  bf69f52   merge from trunk
      adds  3d6eced   merge from trunk
      adds  0e10ed2   Remove bit accidentally left over from the merge
      adds  63d535c   mention let bindings and lack of other ways to rewind
      adds  e078a23   merge from trunk
      adds  6f4de08   merge from trunk
      adds  71f9179   merge from trunk
      adds  6bd488c   merge from trunk
      adds  dad8121   fix process bugs
      adds  cbcba8c   don't let kill-buffer kill a buffer if it is current in 
any thread
      adds  68359abb  merge from trunk; clean up some issues
      adds  ac70709   update eval.c to make it build again after the merge
      adds  313dfb6   fix a few latent issues in the thread patch
      adds  5ccb7e7   merge from trunk
      adds  fbadec0   Fix a comment.
      adds  1d10d04   remove unused field from struct thread_state
      adds  c60685a   Don't call unbind_for_thread_switch in run_thread
      adds  39d7c9d   introduce thread_alive_p macro
      adds  2efa60a   unlink thread later
      adds  b09859f   fix buglet in test case
      adds  e7b4d03   initialize saved_value
      adds  9db4b98   avoid current_thread sometimes
      adds  3bf8db9   avoid SAFE_ALLOCA
      adds  32ca162   call init_primary_thread from init_threads
      adds  0a6f2ff   add assertion to flush_stack_call_func
      adds  6dacdad   merge from trunk
      adds  65ddc9f   fix xfree bug in run_thread
      adds  e6f6307   Use thread_alive_p in a couple more spots
      adds  b34a529   Merge from trunk
      adds  cc231cb   merge from trunk
      adds  6d75555   merge from trunk
      adds  1ce4c63   fix up some merge errors in process.c
      adds  793ea50   merge from trunk
      adds  2ee7755   implement --enable-threads and a thread-less mode
      adds  c160274   use record_unwind_protect_void, avoid warning
      adds  6e9fb70   Fix MS-Windows build.
      adds  545af85   fix whitespace_regexp warning
      adds  5b05b5a   add a comment before flush_stack_call_func
      adds  6a64a71   make thread_check_current_buffer return bool
      adds  c44fedc   fix style of threadp, mutexp, and condition-variable-p
      adds  07efb14   remove binding_symbol
      adds  8c46d17   rename thread-blocker to thread--blocker
      adds  4458614   zap until-condition
      adds  c1456e3   zap until-condition docs
      adds  0e82377   use condition-notify in the docs, not condition-signal
      adds  dbe17fe   Enable thread support in the MS-Windows build.
      adds  e57df8f   Improve MS-Windows implementation of threads.
      adds  bed1087   Fix crashes when unbind_for_thread_switch signals an 
error.
      adds  7793601   change condition-variablep to condition-variable-p
      adds  6a31219   * src/eval.c (unbind_for_thread_switch): Fix iteration 
over the specpdl stack.
      adds  39372e1   merge from trunk
      adds  470e302   Fix the MS-Windows build
      adds  e7bde34   ; * src/systhread.c [WINDOWSNT]: Fix typos in comments.
      adds  de4624c   Merge branch 'concurrency'
      adds  e4deba0   Fix merged code in process.c and eval.c.
      adds  66a5abb   Fix compilation problems.
      adds  137898d   Fix a typo in bytecode.c.
      adds  8ad9241   Fix the test suite
      adds  16ac7c0   Minimize spurious diffs from master.
      adds  fa7d1f0   Fix network streams.
      adds  128cacd   Add a NEWS entry.
      adds  54f52a1   Fix compilation warnings
      adds  3ef50c1   Fix subtle errors with let-binding of localized variables
      adds  ae49006   Fix compilation on Debian GNU/Linux
      adds  7399f53   Fix compilation warnings due to prototype of thread_select
      adds  a708a5c   Fix compilation error on Fedora 24
      adds  ad03e7a   *src/sysdep.c: Fix a comment.
      adds  19bc430   Documentation and commentary improvements
      adds  e4df093   Fix building with check-lisp-object-type
      adds  c364d62   Improve doc strings in thread.c
      adds  828b456   Fix error messages in thread.c
       new  2412a1f   Support concurrency in Emacs Lisp


Summary of changes:
 configure.ac               |   22 +-
 doc/lispref/Makefile.in    |    1 +
 doc/lispref/elisp.texi     |   11 +
 doc/lispref/objects.texi   |   89 +++-
 doc/lispref/processes.texi |   30 ++
 doc/lispref/threads.texi   |  252 ++++++++++++
 etc/DEBUG                  |    2 +-
 etc/NEWS                   |   13 +
 lisp/subr.el               |   14 +
 nt/inc/sys/socket.h        |    1 +
 src/.gdbinit               |   15 +
 src/Makefile.in            |    1 +
 src/alloc.c                |  110 ++++-
 src/buffer.c               |    5 +-
 src/buffer.h               |    4 -
 src/bytecode.c             |  203 ++++++---
 src/data.c                 |   39 ++
 src/emacs.c                |   14 +-
 src/eval.c                 |  268 ++++++++----
 src/lisp.h                 |  162 ++++++--
 src/print.c                |   36 ++
 src/process.c              |  547 +++++++++++++++----------
 src/process.h              |    5 +
 src/regex.c                |    6 -
 src/regex.h                |    8 +-
 src/search.c               |   22 +-
 src/sysdep.c               |    9 +-
 src/systhread.c            |  417 +++++++++++++++++++
 src/systhread.h            |  112 +++++
 src/thread.c               |  970 ++++++++++++++++++++++++++++++++++++++++++++
 src/thread.h               |  237 +++++++++++
 src/w32.c                  |    2 +-
 src/w32proc.c              |    8 +-
 src/window.c               |    8 +-
 src/xgselect.c             |   12 +-
 test/src/data-tests.el     |   81 ++++
 test/src/thread-tests.el   |  213 ++++++++++
 37 files changed, 3497 insertions(+), 452 deletions(-)
 create mode 100644 doc/lispref/threads.texi
 create mode 100644 src/systhread.c
 create mode 100644 src/systhread.h
 create mode 100644 src/thread.c
 create mode 100644 src/thread.h
 create mode 100644 test/src/thread-tests.el



reply via email to

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