diff options
| author | Glenn Morris | 2018-12-30 16:57:36 -0800 |
|---|---|---|
| committer | Glenn Morris | 2018-12-30 16:57:36 -0800 |
| commit | a8e545ef6b92f6eb5916a6803a5d95256fd9eb6b (patch) | |
| tree | 38752101a9dcceb10009f017bced8e0a213e21ed | |
| parent | 83bbb48142e5f9714408dd628d244678eff2dc11 (diff) | |
| parent | 3abebeb8c3047092763f2d4a61fe7dfc659cd1bf (diff) | |
| download | emacs-a8e545ef6b92f6eb5916a6803a5d95256fd9eb6b.tar.gz emacs-a8e545ef6b92f6eb5916a6803a5d95256fd9eb6b.zip | |
Merge from origin/emacs-26
3abebeb * lisp/files.el (cd): Fix last change. (Bug#33791)
7a60a4f Fix remote directories in Eshell on MS-Windows
822a2d0 Fix :type 'group' in defcustom
a731c56 Fix NS fringe bitmap drawing bug (bug#33864)
0c52459 Fix commentary in dispnew.c
c9fdd1b Improve accept-process-process doc
9578c2a Fix a simple bug in display-buffer-use-some-frame
0f9be72 Clarify thread switching while waiting for process output
24ddea0 Improve process doc. with respect to handling of large input ...
2931016 ; Cosmetic changes in etc/NEWS
85516b8 Minor copyedits in landmark.el
# Conflicts:
# etc/NEWS
| -rw-r--r-- | doc/lispref/processes.texi | 14 | ||||
| -rw-r--r-- | doc/lispref/threads.texi | 6 | ||||
| -rw-r--r-- | etc/NEWS.26 | 4 | ||||
| -rw-r--r-- | lisp/files.el | 12 | ||||
| -rw-r--r-- | lisp/obsolete/landmark.el | 11 | ||||
| -rw-r--r-- | lisp/wid-edit.el | 2 | ||||
| -rw-r--r-- | lisp/window.el | 4 | ||||
| -rw-r--r-- | src/dispnew.c | 8 | ||||
| -rw-r--r-- | src/nsterm.m | 2 | ||||
| -rw-r--r-- | src/process.c | 22 |
10 files changed, 53 insertions, 32 deletions
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index c6ffb2815e0..88b0382b7d1 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -612,10 +612,9 @@ these features. However, for subprocesses used by Lisp programs for | |||
| 612 | internal purposes (i.e., no user interaction with the subprocess is | 612 | internal purposes (i.e., no user interaction with the subprocess is |
| 613 | required), where significant amounts of data need to be exchanged | 613 | required), where significant amounts of data need to be exchanged |
| 614 | between the subprocess and the Lisp program, it is often better to use | 614 | between the subprocess and the Lisp program, it is often better to use |
| 615 | a pipe, because pipes are more efficient, and because they are immune | 615 | a pipe, because pipes are more efficient. Also, the total number of |
| 616 | to stray character injections that ptys introduce for large (around | 616 | ptys is limited on many systems, and it is good not to waste them |
| 617 | 500 byte) messages. Also, the total number of ptys is limited on many | 617 | unnecessarily. |
| 618 | systems, and it is good not to waste them unnecessarily. | ||
| 619 | 618 | ||
| 620 | @defun make-process &rest args | 619 | @defun make-process &rest args |
| 621 | This function is the basic low-level primitive for starting | 620 | This function is the basic low-level primitive for starting |
| @@ -1821,7 +1820,8 @@ until output arrives from a process. | |||
| 1821 | This function allows Emacs to read pending output from processes. The | 1820 | This function allows Emacs to read pending output from processes. The |
| 1822 | output is given to their filter functions. If @var{process} is | 1821 | output is given to their filter functions. If @var{process} is |
| 1823 | non-@code{nil} then this function does not return until some output | 1822 | non-@code{nil} then this function does not return until some output |
| 1824 | has been received from @var{process}. | 1823 | has been received from @var{process} or @var{process} has closed the |
| 1824 | connection. | ||
| 1825 | 1825 | ||
| 1826 | The arguments @var{seconds} and @var{millisec} let you specify timeout | 1826 | The arguments @var{seconds} and @var{millisec} let you specify timeout |
| 1827 | periods. The former specifies a period measured in seconds and the | 1827 | periods. The former specifies a period measured in seconds and the |
| @@ -1846,7 +1846,9 @@ speech synthesis. | |||
| 1846 | 1846 | ||
| 1847 | The function @code{accept-process-output} returns non-@code{nil} if it | 1847 | The function @code{accept-process-output} returns non-@code{nil} if it |
| 1848 | got output from @var{process}, or from any process if @var{process} is | 1848 | got output from @var{process}, or from any process if @var{process} is |
| 1849 | @code{nil}. It returns @code{nil} if the timeout expired before output | 1849 | @code{nil}; this can occur even after a process has exited if the |
| 1850 | corresponding connection contains buffered data. The function returns | ||
| 1851 | @code{nil} if the timeout expired or the connection was closed before output | ||
| 1850 | arrived. | 1852 | arrived. |
| 1851 | @end defun | 1853 | @end defun |
| 1852 | 1854 | ||
diff --git a/doc/lispref/threads.texi b/doc/lispref/threads.texi index c9d5f790485..d5d3b4243a6 100644 --- a/doc/lispref/threads.texi +++ b/doc/lispref/threads.texi | |||
| @@ -17,9 +17,9 @@ correct programs should not rely on cooperative threading. | |||
| 17 | 17 | ||
| 18 | Currently, thread switching will occur upon explicit request via | 18 | Currently, thread switching will occur upon explicit request via |
| 19 | @code{thread-yield}, when waiting for keyboard input or for process | 19 | @code{thread-yield}, when waiting for keyboard input or for process |
| 20 | output (e.g., during @code{accept-process-output}), or during blocking | 20 | output from asynchronous processes (e.g., during |
| 21 | operations relating to threads, such as mutex locking or | 21 | @code{accept-process-output}), or during blocking operations relating |
| 22 | @code{thread-join}. | 22 | to threads, such as mutex locking or @code{thread-join}. |
| 23 | 23 | ||
| 24 | Emacs Lisp provides primitives to create and control threads, and | 24 | Emacs Lisp provides primitives to create and control threads, and |
| 25 | also to create and control mutexes and condition variables, useful for | 25 | also to create and control mutexes and condition variables, useful for |
diff --git a/etc/NEWS.26 b/etc/NEWS.26 index 043573e3fca..55bdaf11172 100644 --- a/etc/NEWS.26 +++ b/etc/NEWS.26 | |||
| @@ -52,6 +52,7 @@ often cause crashes. Set it to nil if you really need those fonts. | |||
| 52 | * Changes in Specialized Modes and Packages in Emacs 26.2 | 52 | * Changes in Specialized Modes and Packages in Emacs 26.2 |
| 53 | 53 | ||
| 54 | ** Dired | 54 | ** Dired |
| 55 | |||
| 55 | +++ | 56 | +++ |
| 56 | *** The 'Z' command on a directory name compresses all of its files. | 57 | *** The 'Z' command on a directory name compresses all of its files. |
| 57 | It produces a compressed '.tar.gz' archive with all the files in the | 58 | It produces a compressed '.tar.gz' archive with all the files in the |
| @@ -171,7 +172,8 @@ changed in Emacs 26.1, in that it didn't consider text inside comments | |||
| 171 | and strings as a potential list. This change is now reverted, and | 172 | and strings as a potential list. This change is now reverted, and |
| 172 | 'thing-at-point' behaves like it did before Emacs 26.1. | 173 | 'thing-at-point' behaves like it did before Emacs 26.1. |
| 173 | 174 | ||
| 174 | To cater to use cases where comments and strings are to be ignored | 175 | --- |
| 176 | ** To cater to use cases where comments and strings are to be ignored | ||
| 175 | when looking for a list, the function 'list-at-point' now takes an | 177 | when looking for a list, the function 'list-at-point' now takes an |
| 176 | optional argument to do so. | 178 | optional argument to do so. |
| 177 | 179 | ||
diff --git a/lisp/files.el b/lisp/files.el index 448df62710c..fb09c96c47e 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -802,9 +802,15 @@ The path separator is colon in GNU and GNU-like systems." | |||
| 802 | (setq cd-path (or (parse-colon-path (getenv "CDPATH")) | 802 | (setq cd-path (or (parse-colon-path (getenv "CDPATH")) |
| 803 | (list "./")))) | 803 | (list "./")))) |
| 804 | (cd-absolute | 804 | (cd-absolute |
| 805 | (or (locate-file dir cd-path nil | 805 | (or |
| 806 | (lambda (f) (and (file-directory-p f) 'dir-ok))) | 806 | ;; locate-file doesn't support remote file names, so detect them |
| 807 | (error "No such directory found via CDPATH environment variable")))) | 807 | ;; and support them here by hand. |
| 808 | (and (file-remote-p (expand-file-name dir)) | ||
| 809 | (file-accessible-directory-p (expand-file-name dir)) | ||
| 810 | (expand-file-name dir)) | ||
| 811 | (locate-file dir cd-path nil | ||
| 812 | (lambda (f) (and (file-directory-p f) 'dir-ok))) | ||
| 813 | (error "No such directory found via CDPATH environment variable")))) | ||
| 808 | 814 | ||
| 809 | (defun directory-files-recursively (dir regexp &optional include-directories) | 815 | (defun directory-files-recursively (dir regexp &optional include-directories) |
| 810 | "Return list of all files under DIR that have file names matching REGEXP. | 816 | "Return list of all files under DIR that have file names matching REGEXP. |
diff --git a/lisp/obsolete/landmark.el b/lisp/obsolete/landmark.el index effea95cd8f..c4c4c7a20f6 100644 --- a/lisp/obsolete/landmark.el +++ b/lisp/obsolete/landmark.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1996-1997, 2000-2018 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1996-1997, 2000-2018 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Terrence Brannon (was: <brannon@rana.usc.edu>) | 5 | ;; Author: Terrence Brannon <metaperl@gmail.com> |
| 6 | ;; Created: December 16, 1996 - first release to usenet | 6 | ;; Created: December 16, 1996 - first release to usenet |
| 7 | ;; Keywords: games, neural network, adaptive search, chemotaxis | 7 | ;; Keywords: games, neural network, adaptive search, chemotaxis |
| 8 | ;; Version: 1.0 | 8 | ;; Version: 1.0 |
| @@ -36,7 +36,7 @@ | |||
| 36 | ;; the smell of the tree increases, then the weights in the robot's | 36 | ;; the smell of the tree increases, then the weights in the robot's |
| 37 | ;; brain are adjusted to encourage this odor-driven behavior in the | 37 | ;; brain are adjusted to encourage this odor-driven behavior in the |
| 38 | ;; future. If the smell of the tree decreases, the robots weights are | 38 | ;; future. If the smell of the tree decreases, the robots weights are |
| 39 | ;; adjusted to discourage a correct move. | 39 | ;; adjusted to discourage that odor-driven behavior. |
| 40 | 40 | ||
| 41 | ;; In laymen's terms, the search space is initially flat. The point | 41 | ;; In laymen's terms, the search space is initially flat. The point |
| 42 | ;; of training is to "turn up the edges of the search space" so that | 42 | ;; of training is to "turn up the edges of the search space" so that |
| @@ -53,6 +53,13 @@ | |||
| 53 | ;; a single move, one moves east,west and south, then both east and | 53 | ;; a single move, one moves east,west and south, then both east and |
| 54 | ;; west will be improved when they shouldn't | 54 | ;; west will be improved when they shouldn't |
| 55 | 55 | ||
| 56 | ;; The source code was developed as part of a course on Brain Theory | ||
| 57 | ;; and Neural Networks at the University of Southern California. The | ||
| 58 | ;; original problem description and solution appeared in 1981 in the | ||
| 59 | ;; paper "Landmark Learning: An Illustration of Associative | ||
| 60 | ;; Search" authored by Andrew G. Barto and Richard S. Sutton and | ||
| 61 | ;; published to Biological Cybernetics. | ||
| 62 | |||
| 56 | ;; Many thanks to Yuri Pryadkin <yuri@rana.usc.edu> for this | 63 | ;; Many thanks to Yuri Pryadkin <yuri@rana.usc.edu> for this |
| 57 | ;; concise problem description. | 64 | ;; concise problem description. |
| 58 | 65 | ||
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index bee7f8069ee..29a7a44f2aa 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el | |||
| @@ -2746,7 +2746,7 @@ Return an alist of (TYPE MATCH)." | |||
| 2746 | "A widget which groups other widgets inside." | 2746 | "A widget which groups other widgets inside." |
| 2747 | :convert-widget 'widget-types-convert-widget | 2747 | :convert-widget 'widget-types-convert-widget |
| 2748 | :copy 'widget-types-copy | 2748 | :copy 'widget-types-copy |
| 2749 | :format "%v" | 2749 | :format ":\n%v" |
| 2750 | :value-create 'widget-group-value-create | 2750 | :value-create 'widget-group-value-create |
| 2751 | :value-get 'widget-editable-list-value-get | 2751 | :value-get 'widget-editable-list-value-get |
| 2752 | :default-get 'widget-group-default-get | 2752 | :default-get 'widget-group-default-get |
diff --git a/lisp/window.el b/lisp/window.el index 4e72d343674..f1e56643671 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -7182,9 +7182,7 @@ that allows the selected frame)." | |||
| 7182 | (or (cdr (assq 'frame-predicate alist)) | 7182 | (or (cdr (assq 'frame-predicate alist)) |
| 7183 | (lambda (frame) | 7183 | (lambda (frame) |
| 7184 | (and (not (eq frame (selected-frame))) | 7184 | (and (not (eq frame (selected-frame))) |
| 7185 | (not (window-dedicated-p | 7185 | (get-lru-window frame))))) |
| 7186 | (or (get-lru-window frame) | ||
| 7187 | (frame-first-window frame)))))))) | ||
| 7188 | (frame (car (filtered-frame-list predicate))) | 7186 | (frame (car (filtered-frame-list predicate))) |
| 7189 | (window | 7187 | (window |
| 7190 | (and frame | 7188 | (and frame |
diff --git a/src/dispnew.c b/src/dispnew.c index b628c694e85..39a91e2d955 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -5099,13 +5099,15 @@ update_frame_line (struct frame *f, int vpos, bool updating_menu_p) | |||
| 5099 | ***********************************************************************/ | 5099 | ***********************************************************************/ |
| 5100 | 5100 | ||
| 5101 | /* Determine what's under window-relative pixel position (*X, *Y). | 5101 | /* Determine what's under window-relative pixel position (*X, *Y). |
| 5102 | Return the OBJECT (string or buffer) that's there. | 5102 | Return the object (string or buffer) that's there. |
| 5103 | Return in *POS the position in that object. | 5103 | Return in *POS the position in that object. |
| 5104 | Adjust *X and *Y to character positions. | 5104 | Adjust *X and *Y to character positions. |
| 5105 | If an image is shown at the specified position, return | ||
| 5106 | in *OBJECT its image-spec. | ||
| 5105 | Return in *DX and *DY the pixel coordinates of the click, | 5107 | Return in *DX and *DY the pixel coordinates of the click, |
| 5106 | relative to the top left corner of OBJECT, or relative to | 5108 | relative to the top left corner of object, or relative to |
| 5107 | the top left corner of the character glyph at (*X, *Y) | 5109 | the top left corner of the character glyph at (*X, *Y) |
| 5108 | if OBJECT is nil. | 5110 | if the object at (*X, *Y) is nil. |
| 5109 | Return WIDTH and HEIGHT of the object at (*X, *Y), or zero | 5111 | Return WIDTH and HEIGHT of the object at (*X, *Y), or zero |
| 5110 | if the coordinates point to an empty area of the display. */ | 5112 | if the coordinates point to an empty area of the display. */ |
| 5111 | 5113 | ||
diff --git a/src/nsterm.m b/src/nsterm.m index 6c285f0abb7..a624f628175 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3062,7 +3062,7 @@ ns_draw_fringe_bitmap (struct window *w, struct glyph_row *row, | |||
| 3062 | /* Work out the rectangle we will need to clear. Because we're | 3062 | /* Work out the rectangle we will need to clear. Because we're |
| 3063 | compositing rather than blitting, we need to clear the area under | 3063 | compositing rather than blitting, we need to clear the area under |
| 3064 | the image regardless of anything else. */ | 3064 | the image regardless of anything else. */ |
| 3065 | if (!p->overlay_p) | 3065 | if (p->bx >= 0 && !p->overlay_p) |
| 3066 | { | 3066 | { |
| 3067 | clearRect = NSMakeRect (p->bx, p->by, p->nx, p->ny); | 3067 | clearRect = NSMakeRect (p->bx, p->by, p->nx, p->ny); |
| 3068 | clearRect = NSUnionRect (clearRect, imageRect); | 3068 | clearRect = NSUnionRect (clearRect, imageRect); |
diff --git a/src/process.c b/src/process.c index 34045b4977a..e9b12b1f2dc 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4607,8 +4607,8 @@ DEFUN ("accept-process-output", Faccept_process_output, Saccept_process_output, | |||
| 4607 | 0, 4, 0, | 4607 | 0, 4, 0, |
| 4608 | doc: /* Allow any pending output from subprocesses to be read by Emacs. | 4608 | doc: /* Allow any pending output from subprocesses to be read by Emacs. |
| 4609 | It is given to their filter functions. | 4609 | It is given to their filter functions. |
| 4610 | Optional argument PROCESS means do not return until output has been | 4610 | Optional argument PROCESS means to return only after output is |
| 4611 | received from PROCESS. | 4611 | received from PROCESS or PROCESS closes the connection. |
| 4612 | 4612 | ||
| 4613 | Optional second argument SECONDS and third argument MILLISEC | 4613 | Optional second argument SECONDS and third argument MILLISEC |
| 4614 | specify a timeout; return after that much time even if there is | 4614 | specify a timeout; return after that much time even if there is |
| @@ -4620,7 +4620,8 @@ If optional fourth argument JUST-THIS-ONE is non-nil, accept output | |||
| 4620 | from PROCESS only, suspending reading output from other processes. | 4620 | from PROCESS only, suspending reading output from other processes. |
| 4621 | If JUST-THIS-ONE is an integer, don't run any timers either. | 4621 | If JUST-THIS-ONE is an integer, don't run any timers either. |
| 4622 | Return non-nil if we received any output from PROCESS (or, if PROCESS | 4622 | Return non-nil if we received any output from PROCESS (or, if PROCESS |
| 4623 | is nil, from any process) before the timeout expired. */) | 4623 | is nil, from any process) before the timeout expired or the |
| 4624 | corresponding connection was closed. */) | ||
| 4624 | (Lisp_Object process, Lisp_Object seconds, Lisp_Object millisec, | 4625 | (Lisp_Object process, Lisp_Object seconds, Lisp_Object millisec, |
| 4625 | Lisp_Object just_this_one) | 4626 | Lisp_Object just_this_one) |
| 4626 | { | 4627 | { |
| @@ -6463,9 +6464,11 @@ DEFUN ("process-send-region", Fprocess_send_region, Sprocess_send_region, | |||
| 6463 | PROCESS may be a process, a buffer, the name of a process or buffer, or | 6464 | PROCESS may be a process, a buffer, the name of a process or buffer, or |
| 6464 | nil, indicating the current buffer's process. | 6465 | nil, indicating the current buffer's process. |
| 6465 | Called from program, takes three arguments, PROCESS, START and END. | 6466 | Called from program, takes three arguments, PROCESS, START and END. |
| 6466 | If the region is more than 500 characters long, | 6467 | If the region is larger than the input buffer of the process (the |
| 6467 | it is sent in several bunches. This may happen even for shorter regions. | 6468 | length of which depends on the process connection type and the |
| 6468 | Output from processes can arrive in between bunches. | 6469 | operating system), it is sent in several bunches. This may happen |
| 6470 | even for shorter regions. Output from processes can arrive in between | ||
| 6471 | bunches. | ||
| 6469 | 6472 | ||
| 6470 | If PROCESS is a non-blocking network process that hasn't been fully | 6473 | If PROCESS is a non-blocking network process that hasn't been fully |
| 6471 | set up yet, this function will block until socket setup has completed. */) | 6474 | set up yet, this function will block until socket setup has completed. */) |
| @@ -6496,9 +6499,10 @@ DEFUN ("process-send-string", Fprocess_send_string, Sprocess_send_string, | |||
| 6496 | doc: /* Send PROCESS the contents of STRING as input. | 6499 | doc: /* Send PROCESS the contents of STRING as input. |
| 6497 | PROCESS may be a process, a buffer, the name of a process or buffer, or | 6500 | PROCESS may be a process, a buffer, the name of a process or buffer, or |
| 6498 | nil, indicating the current buffer's process. | 6501 | nil, indicating the current buffer's process. |
| 6499 | If STRING is more than 500 characters long, | 6502 | If STRING is larger than the input buffer of the process (the length |
| 6500 | it is sent in several bunches. This may happen even for shorter strings. | 6503 | of which depends on the process connection type and the operating |
| 6501 | Output from processes can arrive in between bunches. | 6504 | system), it is sent in several bunches. This may happen even for |
| 6505 | shorter strings. Output from processes can arrive in between bunches. | ||
| 6502 | 6506 | ||
| 6503 | If PROCESS is a non-blocking network process that hasn't been fully | 6507 | If PROCESS is a non-blocking network process that hasn't been fully |
| 6504 | set up yet, this function will block until socket setup has completed. */) | 6508 | set up yet, this function will block until socket setup has completed. */) |