]> code.delx.au - gnu-emacs-elpa/blobdiff - README.md
Update pkg file.
[gnu-emacs-elpa] / README.md
index f34b2abf775b04a7bea545ba1d564bf9af4732fd..e19fb5a54ee0a1b92edd95bf59f66c7a1c2b9ed1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,13 +1,20 @@
+<p><a href="http://www.gnu.org/licenses/gpl-3.0.txt"><img src="https://img.shields.io/badge/license-GPL_3-green.svg" alt="License GPL 3" /></a>
+<a href="http://melpa.org/#/async"><img src="http://melpa.org/packages/async-badge.svg" alt="MELPA" title="" /></a>
+<a href="http://stable.melpa.org/#/async"><img src="http://stable.melpa.org/packages/async-badge.svg" alt="MELPA Stable" title="" /></a></p>
+
+
 # emacs-async
 
 `async.el` is a module for doing asynchronous processing in Emacs.
 
 # Install
 
 # emacs-async
 
 `async.el` is a module for doing asynchronous processing in Emacs.
 
 # Install
 
+## Install dired-async
+
 Add to your `.emacs.el`:
 
 Add to your `.emacs.el`:
 
-     (when (require 'dired-aux)
-       (require 'dired-async))
+    (autoload 'dired-async-mode "dired-async.el" nil t)
+    (dired-async-mode 1)
 
 This will allow you to run  asynchronously
 the dired commands for copying, renaming and symlinking.
 
 This will allow you to run  asynchronously
 the dired commands for copying, renaming and symlinking.
@@ -16,8 +23,28 @@ to copy, rename etc... asynchronously from [helm](https://github.com/emacs-helm/
 Note that with [helm](https://github.com/emacs-helm/helm)
 you can disable this by running the copy, rename etc... commands with a prefix argument.
 
 Note that with [helm](https://github.com/emacs-helm/helm)
 you can disable this by running the copy, rename etc... commands with a prefix argument.
 
-If you don't want to make dired/helm asynchronous, you can either
-disable this with `dired-async-be-async` or just load `async.el`.
+If you don't want to make dired/helm asynchronous disable it with `dired-async-mode`.
+
+### Debian and Ubuntu
+
+Users of Debian 9 or later or Ubuntu 16.04 or later may simply `apt-get install elpa-async`.
+
+## Enable asynchronous compilation of your (M)elpa packages
+
+By default emacs package.el compile packages in its running emacs session.
+This is not a problem when installing a new package (which is not actually loaded in current emacs)
+but it may create errors and bad compilation when upgrading a package (old version of package is already loaded
+and running in current emacs).
+You can remedy to this by allowing async to compile your packages asynchronously,
+(helm and magit actually do this by default,
+so if you are using these packages they will compile asynchronously)
+to do this, add to your init file:
+    
+    (async-bytecomp-package-mode 1)
+
+
+You can control which packages will compile async with `async-bytecomp-allowed-packages`.
+Set it to `'(all)` to be sure you will compile all packages asynchronously.
 
 # Usage
 
 
 # Usage
 
@@ -26,7 +53,7 @@ The interface is intended to be very easy to use:
 ## async-start
 
     async-start START-FUNC FINISH-FUNC
 ## async-start
 
     async-start START-FUNC FINISH-FUNC
-    
+
 Execute START-FUNC (often a lambda) in a subordinate Emacs process.  When
 done, the return value is passed to FINISH-FUNC.  Example:
 
 Execute START-FUNC (often a lambda) in a subordinate Emacs process.  When
 done, the return value is passed to FINISH-FUNC.  Example:
 
@@ -40,7 +67,7 @@ done, the return value is passed to FINISH-FUNC.  Example:
        ;; What to do when it finishes
        (lambda (result)
          (message "Async process done, result should be 222: %s" result)))
        ;; What to do when it finishes
        (lambda (result)
          (message "Async process done, result should be 222: %s" result)))
-             
+
 If FINISH-FUNC is `nil` or missing, a future is returned that can be inspected
 using `async-get`, blocking until the value is ready.  Example:
 
 If FINISH-FUNC is `nil` or missing, a future is returned that can be inspected
 using `async-get`, blocking until the value is ready.  Example:
 
@@ -57,7 +84,7 @@ using `async-get`, blocking until the value is ready.  Example:
                  (async-get proc)))
 
 If you don't want to use a callback, and you don't care about any return value
                  (async-get proc)))
 
 If you don't want to use a callback, and you don't care about any return value
-form the child process, pass the `'ignore` symbol as the second argument (if
+from the child process, pass the `'ignore` symbol as the second argument (if
 you don't, and never call `async-get`, it will leave ``*emacs*`` process buffers
 hanging around):
 
 you don't, and never call `async-get`, it will leave ``*emacs*`` process buffers
 hanging around):
 
@@ -74,17 +101,18 @@ however, as an argument to `async-ready` or `async-wait`.
 ## async-start-process
 
     async-start-process NAME PROGRAM FINISH-FUNC &rest PROGRAM-ARGS
 ## async-start-process
 
     async-start-process NAME PROGRAM FINISH-FUNC &rest PROGRAM-ARGS
-    
+
 Start the executable PROGRAM asynchronously.  See `async-start`.  PROGRAM is
 passed PROGRAM-ARGS, calling FINISH-FUNC with the process object when done.
 If FINISH-FUNC is `nil`, the future object will return the process object when
 Start the executable PROGRAM asynchronously.  See `async-start`.  PROGRAM is
 passed PROGRAM-ARGS, calling FINISH-FUNC with the process object when done.
 If FINISH-FUNC is `nil`, the future object will return the process object when
-the program is finished.
+the program is finished.  Set DEFAULT-DIRECTORY to change PROGRAM's current
+working directory.
 
 ## async-get
 
     async-get FUTURE
 
 ## async-get
 
     async-get FUTURE
-    
-Get the value from an asynchronously function when it is ready.  FUTURE is
+
+Get the value from an asynchronously called function when it is ready.  FUTURE is
 returned by `async-start` or `async-start-process` when its FINISH-FUNC is
 `nil`.
 
 returned by `async-start` or `async-start-process` when its FINISH-FUNC is
 `nil`.
 
@@ -92,7 +120,7 @@ returned by `async-start` or `async-start-process` when its FINISH-FUNC is
 
     async-ready FUTURE
 
 
     async-ready FUTURE
 
-Query a FUTURE to see if the ready is ready -- i.e., if no blocking
+Query a FUTURE to see if its function's value is ready -- i.e., if no blocking
 would result from a call to `async-get` on that FUTURE.
 
 ## async-wait
 would result from a call to `async-get` on that FUTURE.
 
 ## async-wait