aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2018-01-09 15:29:25 -0800
committerPaul Eggert2018-01-09 15:29:25 -0800
commit646c8e56f8a11832f25523907b85d6522a99f361 (patch)
tree80ffd41982cfa018b827304ec5137ae6025f6080
parent85f5ee14b55489845eaafbdf70d7f4e25ec44ed7 (diff)
parentd382d2bfc5072d4220b3e51785d22f70b147d63f (diff)
downloademacs-646c8e56f8a11832f25523907b85d6522a99f361.tar.gz
emacs-646c8e56f8a11832f25523907b85d6522a99f361.zip
Merge from origin/emacs-26
d382d2bfc5 * etc/DEBUG (Getting control to the debugger): Fix grammar. 687af4c8e8 * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset h... 43e2aafae3 Don't bind dframe events on load (Bug#29599) ab31bf3c5f * lisp/textmodes/picture.el (picture-mode-exit): Doc fix. ... ed44d92fa6 * lisp/textmodes/picture.el (picture-open-line): Doc fix. ... b87a772612 Fix description of 'emacs-internal' a5256da588 Update PROBLEMS with selection-related issues c59ecb005e New customization variable for python-mode indentation (Bu... 4e20c8f220 Fix menu keyboard shortcuts on macOS (Bug#29595) # Conflicts: # etc/NEWS
-rw-r--r--doc/lispref/nonascii.texi4
-rw-r--r--etc/DEBUG2
-rw-r--r--etc/NEWS.267
-rw-r--r--etc/PROBLEMS26
-rw-r--r--lisp/dframe.el26
-rw-r--r--lisp/progmodes/python.el10
-rw-r--r--lisp/textmodes/picture.el10
-rw-r--r--lisp/vc/vc.el2
-rw-r--r--src/nsmenu.m21
9 files changed, 70 insertions, 38 deletions
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 9d6fc6ca72a..2fd2bbc1ce5 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -1112,7 +1112,9 @@ represented in the internal Emacs encoding (@pxref{Text
1112Representations}). This is like @code{raw-text} in that no code 1112Representations}). This is like @code{raw-text} in that no code
1113conversion happens, but different in that the result is multibyte 1113conversion happens, but different in that the result is multibyte
1114data. The name @code{emacs-internal} is an alias for 1114data. The name @code{emacs-internal} is an alias for
1115@code{utf-8-emacs}. 1115@code{utf-8-emacs-unix} (so it forces no conversion of end-of-line,
1116unlike @code{utf-8-emacs}, which can decode all 3 kinds of
1117end-of-line conventions).
1116 1118
1117@defun coding-system-get coding-system property 1119@defun coding-system-get coding-system property
1118This function returns the specified property of the coding system 1120This function returns the specified property of the coding system
diff --git a/etc/DEBUG b/etc/DEBUG
index bb81414c817..c4774b06d38 100644
--- a/etc/DEBUG
+++ b/etc/DEBUG
@@ -201,7 +201,7 @@ errors go through there. If you are only interested in errors that
201would fire the Lisp debugger, breaking at 'maybe_call_debugger' is 201would fire the Lisp debugger, breaking at 'maybe_call_debugger' is
202useful. 202useful.
203 203
204Another technique for get control to the debugger is to put a 204Another technique for getting control to the debugger is to put a
205breakpoint in some rarely used function. One such convenient function 205breakpoint in some rarely used function. One such convenient function
206is Fredraw_display, which you can invoke at will interactively with 206is Fredraw_display, which you can invoke at will interactively with
207"M-x redraw-display RET". 207"M-x redraw-display RET".
diff --git a/etc/NEWS.26 b/etc/NEWS.26
index 55385f59a80..b4c489cf7bd 100644
--- a/etc/NEWS.26
+++ b/etc/NEWS.26
@@ -1037,6 +1037,13 @@ located and whether GnuPG's option '--homedir' is used or not.
1037--- 1037---
1038*** Deleting a package no longer respects 'delete-by-moving-to-trash'. 1038*** Deleting a package no longer respects 'delete-by-moving-to-trash'.
1039 1039
1040** Python
1041
1042+++
1043*** The new variable 'python-indent-def-block-scale' has been added.
1044It controls the depth of indentation of arguments inside multi-line
1045function signatures.
1046
1040** Tramp 1047** Tramp
1041 1048
1042+++ 1049+++
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 5c72809f2a1..e7f6c267cbb 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -1045,6 +1045,19 @@ commands show above to make them modifier keys.
1045Note that if you have Alt keys but no Meta keys, Emacs translates Alt 1045Note that if you have Alt keys but no Meta keys, Emacs translates Alt
1046into Meta. This is because of the great importance of Meta in Emacs. 1046into Meta. This is because of the great importance of Meta in Emacs.
1047 1047
1048*** Emacs hangs or crashes when a large portion of text is selected or killed.
1049
1050This is caused by a bug in the clipboard management applets (it has
1051been observed in 'klipper' and 'clipit'), which periodically request
1052the X clipboard contents from applications. After a while, Emacs may
1053print a message:
1054
1055 Timed out waiting for property-notify event
1056
1057A workaround is to not use 'klipper'/'clipit'. Upgrading 'klipper' to
1058the one coming with KDE 3.3 or later might solve the problem; if it
1059doesn't, set 'select-active-regions' to 'only' or nil.
1060
1048** Window-manager and toolkit-related problems 1061** Window-manager and toolkit-related problems
1049 1062
1050*** Emacs built with GTK+ toolkit produces corrupted display on HiDPI screen 1063*** Emacs built with GTK+ toolkit produces corrupted display on HiDPI screen
@@ -1149,19 +1162,6 @@ It is also reported that a bug in the gtk-engines-qt engine can cause this if
1149Emacs is compiled with Gtk+. 1162Emacs is compiled with Gtk+.
1150The bug is fixed in version 0.7 or newer of gtk-engines-qt. 1163The bug is fixed in version 0.7 or newer of gtk-engines-qt.
1151 1164
1152*** KDE: Emacs hangs on KDE when a large portion of text is killed.
1153
1154This is caused by a bug in the KDE applet 'klipper' which periodically
1155requests the X clipboard contents from applications. Early versions
1156of klipper don't implement the ICCCM protocol for large selections,
1157which leads to Emacs being flooded with selection requests. After a
1158while, Emacs may print a message:
1159
1160 Timed out waiting for property-notify event
1161
1162A workaround is to not use 'klipper'. Upgrading 'klipper' to the one
1163coming with KDE 3.3 or later also solves the problem.
1164
1165*** KDE / Plasma 5: Emacs exhausts memory and needs to be killed 1165*** KDE / Plasma 5: Emacs exhausts memory and needs to be killed
1166 1166
1167This problem occurs when large selections contain mixed line endings 1167This problem occurs when large selections contain mixed line endings
diff --git a/lisp/dframe.el b/lisp/dframe.el
index 9b0e550728a..12cedaf5201 100644
--- a/lisp/dframe.el
+++ b/lisp/dframe.el
@@ -288,6 +288,7 @@ CREATE-HOOK is a hook to run after creating a frame."
288 (set frame-var nil)) 288 (set frame-var nil))
289 ;; Set this as our currently attached frame 289 ;; Set this as our currently attached frame
290 (setq dframe-attached-frame (selected-frame)) 290 (setq dframe-attached-frame (selected-frame))
291 (run-hooks 'dframe-setup-hook)
291 (run-hooks popup-hook) 292 (run-hooks popup-hook)
292 ;; Updated the buffer passed in to contain all the hacks needed 293 ;; Updated the buffer passed in to contain all the hacks needed
293 ;; to make it work well in a dedicated window. 294 ;; to make it work well in a dedicated window.
@@ -543,16 +544,21 @@ CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode'."
543 ))) 544 )))
544 545
545;;; Special frame event proxies 546;;; Special frame event proxies
546;; 547(defvar dframe-setup-hook nil
547(if (boundp 'special-event-map) 548 "Used for setting frame special event bindings.")
548 (progn 549
549 (define-key special-event-map [make-frame-visible] 550(defun dframe-set-special-events ()
550 'dframe-handle-make-frame-visible) 551 (define-key special-event-map [make-frame-visible]
551 (define-key special-event-map [iconify-frame] 552 'dframe-handle-make-frame-visible)
552 'dframe-handle-iconify-frame) 553 (define-key special-event-map [iconify-frame]
553 (define-key special-event-map [delete-frame] 554 'dframe-handle-iconify-frame)
554 'dframe-handle-delete-frame)) 555 (define-key special-event-map [delete-frame]
555 ) 556 'dframe-handle-delete-frame)
557 ;; Only need to run once.
558 (remove-hook 'dframe-setup-hook #'dframe-set-special-events))
559
560(when (boundp 'special-event-map)
561 (add-hook 'dframe-setup-hook #'dframe-set-special-events))
556 562
557(defvar dframe-make-frame-visible-function nil 563(defvar dframe-make-frame-visible-function nil
558 "Function used when a dframe controlled frame is de-iconified. 564 "Function used when a dframe controlled frame is de-iconified.
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 68926b275ea..5baf6e0f80a 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -752,6 +752,12 @@ It makes underscores and dots word constituent chars.")
752 :type '(repeat symbol) 752 :type '(repeat symbol)
753 :group 'python) 753 :group 'python)
754 754
755(defcustom python-indent-def-block-scale 2
756 "Multiplier applied to indentation inside multi-line def blocks."
757 :version "26.1"
758 :type 'integer
759 :safe 'natnump)
760
755(defvar python-indent-current-level 0 761(defvar python-indent-current-level 0
756 "Deprecated var available for compatibility.") 762 "Deprecated var available for compatibility.")
757 763
@@ -1071,9 +1077,9 @@ possibilities can be narrowed to specific indentation points."
1071 (current-indentation))) 1077 (current-indentation)))
1072 opening-block-start-points)))) 1078 opening-block-start-points))))
1073 (`(,(or :inside-paren-newline-start-from-block) . ,start) 1079 (`(,(or :inside-paren-newline-start-from-block) . ,start)
1074 ;; Add two indentation levels to make the suite stand out.
1075 (goto-char start) 1080 (goto-char start)
1076 (+ (current-indentation) (* python-indent-offset 2)))))) 1081 (+ (current-indentation)
1082 (* python-indent-offset python-indent-def-block-scale))))))
1077 1083
1078(defun python-indent--calculate-levels (indentation) 1084(defun python-indent--calculate-levels (indentation)
1079 "Calculate levels list given INDENTATION. 1085 "Calculate levels list given INDENTATION.
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index caf76a41a1a..6836fd09a07 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -338,8 +338,9 @@ always moves to the beginning of a line."
338 (newline lines-left)))) 338 (newline lines-left))))
339 339
340(defun picture-open-line (arg) 340(defun picture-open-line (arg)
341 "Insert an empty line after the current line. 341 "Insert ARG empty lines after the current line.
342With positive argument insert that many lines." 342ARG must be positive.
343Interactively, ARG is the numeric argument, and defaults to 1."
343 (interactive "p") 344 (interactive "p")
344 (save-excursion 345 (save-excursion
345 (end-of-line) 346 (end-of-line)
@@ -788,8 +789,9 @@ they are not by default assigned to keys."
788 789
789(defun picture-mode-exit (&optional nostrip) 790(defun picture-mode-exit (&optional nostrip)
790 "Undo `picture-mode' and return to previous major mode. 791 "Undo `picture-mode' and return to previous major mode.
791With no argument, strip whitespace from end of every line in Picture buffer; 792With NOSTRIP omitted or nil, strip whitespace from end of every line
792 otherwise, just return to previous mode. 793 in Picture buffer; otherwise, just return to previous mode.
794Interactively, NOSTRIP is the prefix argument, and defaults to nil.
793Runs `picture-mode-exit-hook' at the end." 795Runs `picture-mode-exit-hook' at the end."
794 (interactive "P") 796 (interactive "P")
795 (if (not (eq major-mode 'picture-mode)) 797 (if (not (eq major-mode 'picture-mode))
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 44c0c207d67..dec7ebb43e4 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2430,7 +2430,7 @@ When called interactively with a prefix argument, prompt for REMOTE-LOCATION."
2430 (with-current-buffer buf 2430 (with-current-buffer buf
2431 (vc-call-backend backend 'region-history-mode) 2431 (vc-call-backend backend 'region-history-mode)
2432 (set (make-local-variable 'log-view-vc-backend) backend) 2432 (set (make-local-variable 'log-view-vc-backend) backend)
2433 (set (make-local-variable 'log-view-vc-fileset) file) 2433 (set (make-local-variable 'log-view-vc-fileset) (list file))
2434 (set (make-local-variable 'revert-buffer-function) 2434 (set (make-local-variable 'revert-buffer-function)
2435 (lambda (_ignore-auto _noconfirm) 2435 (lambda (_ignore-auto _noconfirm)
2436 (with-current-buffer buf 2436 (with-current-buffer buf
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 5748b20ce81..58b45fb38e5 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -643,14 +643,23 @@ x_activate_menubar (struct frame *f)
643 643
644 keyEq = [self parseKeyEquiv: wv->key]; 644 keyEq = [self parseKeyEquiv: wv->key];
645#ifdef NS_IMPL_COCOA 645#ifdef NS_IMPL_COCOA
646 /* macOS just ignores modifier strings longer than one character */ 646 /* macOS mangles modifier strings longer than one character. */
647 if (keyEquivModMask == 0) 647 if (keyEquivModMask == 0)
648 title = [title stringByAppendingFormat: @" (%@)", keyEq]; 648 {
649 title = [title stringByAppendingFormat: @" (%@)", keyEq];
650 item = [self addItemWithTitle: (NSString *)title
651 action: @selector (menuDown:)
652 keyEquivalent: @""];
653 }
654 else
655 {
656#endif
657 item = [self addItemWithTitle: (NSString *)title
658 action: @selector (menuDown:)
659 keyEquivalent: keyEq];
660#ifdef NS_IMPL_COCOA
661 }
649#endif 662#endif
650
651 item = [self addItemWithTitle: (NSString *)title
652 action: @selector (menuDown:)
653 keyEquivalent: keyEq];
654 [item setKeyEquivalentModifierMask: keyEquivModMask]; 663 [item setKeyEquivalentModifierMask: keyEquivModMask];
655 664
656 [item setEnabled: wv->enabled]; 665 [item setEnabled: wv->enabled];