aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2018-12-30 16:57:36 -0800
committerGlenn Morris2018-12-30 16:57:36 -0800
commita8e545ef6b92f6eb5916a6803a5d95256fd9eb6b (patch)
tree38752101a9dcceb10009f017bced8e0a213e21ed
parent83bbb48142e5f9714408dd628d244678eff2dc11 (diff)
parent3abebeb8c3047092763f2d4a61fe7dfc659cd1bf (diff)
downloademacs-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.texi14
-rw-r--r--doc/lispref/threads.texi6
-rw-r--r--etc/NEWS.264
-rw-r--r--lisp/files.el12
-rw-r--r--lisp/obsolete/landmark.el11
-rw-r--r--lisp/wid-edit.el2
-rw-r--r--lisp/window.el4
-rw-r--r--src/dispnew.c8
-rw-r--r--src/nsterm.m2
-rw-r--r--src/process.c22
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
612internal purposes (i.e., no user interaction with the subprocess is 612internal purposes (i.e., no user interaction with the subprocess is
613required), where significant amounts of data need to be exchanged 613required), where significant amounts of data need to be exchanged
614between the subprocess and the Lisp program, it is often better to use 614between the subprocess and the Lisp program, it is often better to use
615a pipe, because pipes are more efficient, and because they are immune 615a pipe, because pipes are more efficient. Also, the total number of
616to stray character injections that ptys introduce for large (around 616ptys is limited on many systems, and it is good not to waste them
617500 byte) messages. Also, the total number of ptys is limited on many 617unnecessarily.
618systems, and it is good not to waste them unnecessarily.
619 618
620@defun make-process &rest args 619@defun make-process &rest args
621This function is the basic low-level primitive for starting 620This function is the basic low-level primitive for starting
@@ -1821,7 +1820,8 @@ until output arrives from a process.
1821This function allows Emacs to read pending output from processes. The 1820This function allows Emacs to read pending output from processes. The
1822output is given to their filter functions. If @var{process} is 1821output is given to their filter functions. If @var{process} is
1823non-@code{nil} then this function does not return until some output 1822non-@code{nil} then this function does not return until some output
1824has been received from @var{process}. 1823has been received from @var{process} or @var{process} has closed the
1824connection.
1825 1825
1826The arguments @var{seconds} and @var{millisec} let you specify timeout 1826The arguments @var{seconds} and @var{millisec} let you specify timeout
1827periods. The former specifies a period measured in seconds and the 1827periods. The former specifies a period measured in seconds and the
@@ -1846,7 +1846,9 @@ speech synthesis.
1846 1846
1847The function @code{accept-process-output} returns non-@code{nil} if it 1847The function @code{accept-process-output} returns non-@code{nil} if it
1848got output from @var{process}, or from any process if @var{process} is 1848got 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
1850corresponding connection contains buffered data. The function returns
1851@code{nil} if the timeout expired or the connection was closed before output
1850arrived. 1852arrived.
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
20output (e.g., during @code{accept-process-output}), or during blocking 20output from asynchronous processes (e.g., during
21operations relating to threads, such as mutex locking or 21@code{accept-process-output}), or during blocking operations relating
22@code{thread-join}. 22to 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
25also to create and control mutexes and condition variables, useful for 25also 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.
57It produces a compressed '.tar.gz' archive with all the files in the 58It 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
171and strings as a potential list. This change is now reverted, and 172and 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
174To 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
175when looking for a list, the function 'list-at-point' now takes an 177when looking for a list, the function 'list-at-point' now takes an
176optional argument to do so. 178optional 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.
4609It is given to their filter functions. 4609It is given to their filter functions.
4610Optional argument PROCESS means do not return until output has been 4610Optional argument PROCESS means to return only after output is
4611received from PROCESS. 4611received from PROCESS or PROCESS closes the connection.
4612 4612
4613Optional second argument SECONDS and third argument MILLISEC 4613Optional second argument SECONDS and third argument MILLISEC
4614specify a timeout; return after that much time even if there is 4614specify 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
4620from PROCESS only, suspending reading output from other processes. 4620from PROCESS only, suspending reading output from other processes.
4621If JUST-THIS-ONE is an integer, don't run any timers either. 4621If JUST-THIS-ONE is an integer, don't run any timers either.
4622Return non-nil if we received any output from PROCESS (or, if PROCESS 4622Return non-nil if we received any output from PROCESS (or, if PROCESS
4623is nil, from any process) before the timeout expired. */) 4623is nil, from any process) before the timeout expired or the
4624corresponding 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,
6463PROCESS may be a process, a buffer, the name of a process or buffer, or 6464PROCESS may be a process, a buffer, the name of a process or buffer, or
6464nil, indicating the current buffer's process. 6465nil, indicating the current buffer's process.
6465Called from program, takes three arguments, PROCESS, START and END. 6466Called from program, takes three arguments, PROCESS, START and END.
6466If the region is more than 500 characters long, 6467If the region is larger than the input buffer of the process (the
6467it is sent in several bunches. This may happen even for shorter regions. 6468length of which depends on the process connection type and the
6468Output from processes can arrive in between bunches. 6469operating system), it is sent in several bunches. This may happen
6470even for shorter regions. Output from processes can arrive in between
6471bunches.
6469 6472
6470If PROCESS is a non-blocking network process that hasn't been fully 6473If PROCESS is a non-blocking network process that hasn't been fully
6471set up yet, this function will block until socket setup has completed. */) 6474set 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.
6497PROCESS may be a process, a buffer, the name of a process or buffer, or 6500PROCESS may be a process, a buffer, the name of a process or buffer, or
6498nil, indicating the current buffer's process. 6501nil, indicating the current buffer's process.
6499If STRING is more than 500 characters long, 6502If STRING is larger than the input buffer of the process (the length
6500it is sent in several bunches. This may happen even for shorter strings. 6503of which depends on the process connection type and the operating
6501Output from processes can arrive in between bunches. 6504system), it is sent in several bunches. This may happen even for
6505shorter strings. Output from processes can arrive in between bunches.
6502 6506
6503If PROCESS is a non-blocking network process that hasn't been fully 6507If PROCESS is a non-blocking network process that hasn't been fully
6504set up yet, this function will block until socket setup has completed. */) 6508set up yet, this function will block until socket setup has completed. */)