aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2020-11-07 09:57:56 -0800
committerGlenn Morris2020-11-07 09:57:56 -0800
commit33e8116fc2c24b14d30c08a09cc034bea6f9d584 (patch)
tree1be8512dcde3fbf6679f931295eabbe4bb6e1b0d
parent1de00441a5cd983ae4d76eecd80286928e791e96 (diff)
parentf5d7fb3a2dee3f9ae49151e3d01483aad7fb734b (diff)
downloademacs-33e8116fc2c24b14d30c08a09cc034bea6f9d584.tar.gz
emacs-33e8116fc2c24b14d30c08a09cc034bea6f9d584.zip
Merge from origin/emacs-27
f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in... d4242177da Fix 'send-string-to-terminal' writing very long strings 9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug... 9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind... f4acd7a924 Split windows evenly when 'min-margins' parameter was set ...
-rw-r--r--doc/emacs/windows.texi4
-rw-r--r--lisp/mail/uudecode.el36
-rw-r--r--lisp/subr.el12
-rw-r--r--lisp/window.el8
-rw-r--r--src/dispnew.c4
5 files changed, 37 insertions, 27 deletions
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi
index bc1dcd7f419..07f826933db 100644
--- a/doc/emacs/windows.texi
+++ b/doc/emacs/windows.texi
@@ -589,7 +589,7 @@ buffer. @xref{Follow Mode}.
589@findex windmove-default-keybindings 589@findex windmove-default-keybindings
590@findex windmove-display-default-keybindings 590@findex windmove-display-default-keybindings
591@findex windmove-delete-default-keybindings 591@findex windmove-delete-default-keybindings
592@findex windmove-swap-states-in-direction 592@findex windmove-swap-states-default-keybindings
593 The Windmove package defines commands for moving directionally 593 The Windmove package defines commands for moving directionally
594between neighboring windows in a frame. @kbd{M-x windmove-right} 594between neighboring windows in a frame. @kbd{M-x windmove-right}
595selects the window immediately to the right of the currently selected 595selects the window immediately to the right of the currently selected
@@ -603,7 +603,7 @@ keybindings for commands that specify in what direction to display the
603window for the buffer that the next command is going to display. 603window for the buffer that the next command is going to display.
604Also there is @w{@kbd{M-x windmove-delete-default-keybindings}} to 604Also there is @w{@kbd{M-x windmove-delete-default-keybindings}} to
605define keybindings for commands that delete windows directionally, and 605define keybindings for commands that delete windows directionally, and
606@w{@kbd{M-x windmove-swap-states-in-direction}} that define 606@w{@kbd{M-x windmove-swap-states-default-keybindings}} that defines
607keybindings for commands that swap the window contents of the selected 607keybindings for commands that swap the window contents of the selected
608window with the window in the specified direction. 608window with the window in the specified direction.
609 609
diff --git a/lisp/mail/uudecode.el b/lisp/mail/uudecode.el
index bcbd571b539..0dce9b7b726 100644
--- a/lisp/mail/uudecode.el
+++ b/lisp/mail/uudecode.el
@@ -149,12 +149,10 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
149 (setq counter (1+ counter) 149 (setq counter (1+ counter)
150 inputpos (1+ inputpos)) 150 inputpos (1+ inputpos))
151 (cond ((= counter 4) 151 (cond ((= counter 4)
152 (setq result (cons 152 (setq result (cons (logand bits 255)
153 (concat 153 (cons (logand (ash bits -8) 255)
154 (char-to-string (ash bits -16)) 154 (cons (ash bits -16)
155 (char-to-string (logand (ash bits -8) 255)) 155 result))))
156 (char-to-string (logand bits 255)))
157 result))
158 (setq bits 0 counter 0)) 156 (setq bits 0 counter 0))
159 (t (setq bits (ash bits 6))))))) 157 (t (setq bits (ash bits 6)))))))
160 (cond 158 (cond
@@ -166,26 +164,26 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
166 ;;(error "uucode ends unexpectedly") 164 ;;(error "uucode ends unexpectedly")
167 (setq done t)) 165 (setq done t))
168 ((= counter 3) 166 ((= counter 3)
169 (setq result (cons 167 (setq result (cons (logand (ash bits -8) 255)
170 (concat 168 (cons (logand (ash bits -16) 255)
171 (char-to-string (logand (ash bits -16) 255)) 169 result))))
172 (char-to-string (logand (ash bits -8) 255)))
173 result)))
174 ((= counter 2) 170 ((= counter 2)
175 (setq result (cons 171 (setq result (cons (logand (ash bits -10) 255)
176 (char-to-string (logand (ash bits -10) 255)) 172 result))))
177 result))))
178 (skip-chars-forward non-data-chars end)) 173 (skip-chars-forward non-data-chars end))
179 (if file-name 174 (if file-name
180 (with-temp-file file-name 175 (with-temp-file file-name
181 (set-buffer-multibyte nil) 176 (set-buffer-multibyte nil)
182 (insert (apply #'concat (nreverse result)))) 177 (apply #'insert (nreverse result)))
183 (or (markerp end) (setq end (set-marker (make-marker) end))) 178 (or (markerp end) (setq end (set-marker (make-marker) end)))
184 (goto-char start) 179 (goto-char start)
185 (if enable-multibyte-characters 180 (apply #'insert
186 (dolist (x (nreverse result)) 181 (nreverse
187 (insert (decode-coding-string x 'binary))) 182 (if enable-multibyte-characters
188 (insert (apply #'concat (nreverse result)))) 183 (mapcar (lambda (ch)
184 (or (decode-char 'eight-bit ch) ch))
185 result)
186 result)))
189 (delete-region (point) end)))))) 187 (delete-region (point) end))))))
190 188
191;;;###autoload 189;;;###autoload
diff --git a/lisp/subr.el b/lisp/subr.el
index 286851dfc83..924526d77ec 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2767,12 +2767,14 @@ Also discard all previous input in the minibuffer."
2767(defvar empty-history) 2767(defvar empty-history)
2768 2768
2769(defun read-char-from-minibuffer (prompt &optional chars history) 2769(defun read-char-from-minibuffer (prompt &optional chars history)
2770 "Read a character from the minibuffer, prompting for PROMPT. 2770 "Read a character from the minibuffer, prompting for it with PROMPT.
2771Like `read-char', but uses the minibuffer to read and return a character. 2771Like `read-char', but uses the minibuffer to read and return a character.
2772When CHARS is non-nil, any input that is not one of CHARS is ignored. 2772Optional argument CHARS, if non-nil, should be a list of characters;
2773When HISTORY is a symbol, then allows navigating in a history. 2773the function will ignore any input that is not one of CHARS.
2774The navigation commands are `M-p' and `M-n', with `RET' to select 2774Optional argument HISTORY, if non-nil, should be a symbol that
2775a character from history." 2775specifies the history list variable to use for navigating in input
2776history using `M-p' and `M-n', with `RET' to select a character from
2777history."
2776 (let* ((empty-history '()) 2778 (let* ((empty-history '())
2777 (map (if (consp chars) 2779 (map (if (consp chars)
2778 (or (gethash chars read-char-from-minibuffer-map-hash) 2780 (or (gethash chars read-char-from-minibuffer-map-hash)
diff --git a/lisp/window.el b/lisp/window.el
index 865f6fdd5cc..d564ec55468 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -5488,7 +5488,13 @@ frame. The selected window is not changed by this function."
5488 (set-window-parameter (window-parent new) 'window-atom t)) 5488 (set-window-parameter (window-parent new) 'window-atom t))
5489 (set-window-parameter new 'window-atom t))) 5489 (set-window-parameter new 'window-atom t)))
5490 5490
5491 ;; Sanitize sizes unless SIZE was specified. 5491 ;; Make the new window inherit the `min-margins' parameter of
5492 ;; WINDOW (Bug#44483).
5493 (let ((min-margins (window-parameter window 'min-margins)))
5494 (when min-margins
5495 (set-window-parameter new 'min-margins min-margins)))
5496
5497 ;; Sanitize sizes unless SIZE was specified.
5492 (unless size 5498 (unless size
5493 (window--sanitize-window-sizes horizontal)) 5499 (window--sanitize-window-sizes horizontal))
5494 5500
diff --git a/src/dispnew.c b/src/dispnew.c
index 3f2ae3e6ad1..48a36f2006c 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -5904,8 +5904,12 @@ when TERMINAL is nil. */)
5904 } 5904 }
5905 out = tty->output; 5905 out = tty->output;
5906 } 5906 }
5907 /* STRING might be very long, in which case fwrite could be
5908 interrupted by SIGIO. So we temporarily block SIGIO. */
5909 unrequest_sigio ();
5907 fwrite (SDATA (string), 1, SBYTES (string), out); 5910 fwrite (SDATA (string), 1, SBYTES (string), out);
5908 fflush (out); 5911 fflush (out);
5912 request_sigio ();
5909 unblock_input (); 5913 unblock_input ();
5910 return Qnil; 5914 return Qnil;
5911} 5915}