diff options
| author | Andrea Corallo | 2020-05-25 15:56:25 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2020-05-25 15:56:25 +0100 |
| commit | b478d57e73ccff63788de805bfe178481ff084cf (patch) | |
| tree | b87beb51fb6cc70b1d76c0c4553e42d57bc7dd5a | |
| parent | 2bc41e0963275e77ca3627fbfd754fcc041405cb (diff) | |
| parent | c812223c9fc2684d0edc9cb848cfa6d83c6fdb9a (diff) | |
| download | emacs-b478d57e73ccff63788de805bfe178481ff084cf.tar.gz emacs-b478d57e73ccff63788de805bfe178481ff084cf.zip | |
Merge remote-tracking branch 'savannah/master' into HEAD
| -rw-r--r-- | etc/NEWS | 2 | ||||
| -rw-r--r-- | lisp/eshell/eshell.el | 22 | ||||
| -rw-r--r-- | lisp/ffap.el | 11 | ||||
| -rw-r--r-- | lisp/net/browse-url.el | 11 | ||||
| -rw-r--r-- | lisp/progmodes/cc-langs.el | 4 | ||||
| -rw-r--r-- | lisp/xml.el | 3 | ||||
| -rw-r--r-- | src/gtkutil.c | 9 |
7 files changed, 46 insertions, 16 deletions
| @@ -362,6 +362,8 @@ symbol property to the browsing functions. With a new command | |||
| 362 | 'browse-url-with-browser-kind', an URL can explicitly be browsed with | 362 | 'browse-url-with-browser-kind', an URL can explicitly be browsed with |
| 363 | either an internal or external browser. | 363 | either an internal or external browser. |
| 364 | 364 | ||
| 365 | *** Support for the conkeror browser is now obsolete. | ||
| 366 | |||
| 365 | ** SHR | 367 | ** SHR |
| 366 | 368 | ||
| 367 | --- | 369 | --- |
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el index 2a63882ff09..5ffb159b575 100644 --- a/lisp/eshell/eshell.el +++ b/lisp/eshell/eshell.el | |||
| @@ -265,14 +265,18 @@ information on Eshell, see Info node `(eshell)Top'." | |||
| 265 | (eshell-mode)) | 265 | (eshell-mode)) |
| 266 | buf)) | 266 | buf)) |
| 267 | 267 | ||
| 268 | (defun eshell-return-exits-minibuffer () | 268 | (define-minor-mode eshell-command-mode |
| 269 | ;; This is supposedly run after enabling esh-mode, when eshell-mode-map | 269 | "Minor mode for `eshell-command' input. |
| 270 | ;; already exists. | 270 | \\{eshell-command-mode-map}" |
| 271 | (defvar eshell-mode-map) | 271 | :keymap (let ((map (make-sparse-keymap))) |
| 272 | (define-key eshell-mode-map [(control ?g)] 'abort-recursive-edit) | 272 | (define-key map [(control ?g)] 'abort-recursive-edit) |
| 273 | (define-key eshell-mode-map [(control ?m)] 'exit-minibuffer) | 273 | (define-key map [(control ?m)] 'exit-minibuffer) |
| 274 | (define-key eshell-mode-map [(control ?j)] 'exit-minibuffer) | 274 | (define-key map [(control ?j)] 'exit-minibuffer) |
| 275 | (define-key eshell-mode-map [(meta control ?m)] 'exit-minibuffer)) | 275 | (define-key map [(meta control ?m)] 'exit-minibuffer) |
| 276 | map)) | ||
| 277 | |||
| 278 | (define-obsolete-function-alias 'eshell-return-exits-minibuffer | ||
| 279 | #'eshell-command-mode "28.1") | ||
| 276 | 280 | ||
| 277 | (defvar eshell-non-interactive-p nil | 281 | (defvar eshell-non-interactive-p nil |
| 278 | "A variable which is non-nil when Eshell is not running interactively. | 282 | "A variable which is non-nil when Eshell is not running interactively. |
| @@ -292,7 +296,7 @@ With prefix ARG, insert output into the current buffer at point." | |||
| 292 | ;; Enable `eshell-mode' only in this minibuffer. | 296 | ;; Enable `eshell-mode' only in this minibuffer. |
| 293 | (minibuffer-with-setup-hook #'(lambda () | 297 | (minibuffer-with-setup-hook #'(lambda () |
| 294 | (eshell-mode) | 298 | (eshell-mode) |
| 295 | (eshell-return-exits-minibuffer)) | 299 | (eshell-command-mode +1)) |
| 296 | (unless command | 300 | (unless command |
| 297 | (setq command (read-from-minibuffer "Emacs shell command: ")) | 301 | (setq command (read-from-minibuffer "Emacs shell command: ")) |
| 298 | (if (eshell-using-module 'eshell-hist) | 302 | (if (eshell-using-module 'eshell-hist) |
diff --git a/lisp/ffap.el b/lisp/ffap.el index d656b373729..ceba9d26223 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el | |||
| @@ -54,6 +54,8 @@ | |||
| 54 | ;; C-x 5 r ffap-read-only-other-frame | 54 | ;; C-x 5 r ffap-read-only-other-frame |
| 55 | ;; C-x 5 d ffap-dired-other-frame | 55 | ;; C-x 5 d ffap-dired-other-frame |
| 56 | ;; | 56 | ;; |
| 57 | ;; C-x t f ffap-other-tab | ||
| 58 | ;; | ||
| 57 | ;; S-mouse-3 ffap-at-mouse | 59 | ;; S-mouse-3 ffap-at-mouse |
| 58 | ;; C-S-mouse-3 ffap-menu | 60 | ;; C-S-mouse-3 ffap-menu |
| 59 | ;; | 61 | ;; |
| @@ -1758,6 +1760,14 @@ Only intended for interactive use." | |||
| 1758 | (set-window-dedicated-p win wdp)) | 1760 | (set-window-dedicated-p win wdp)) |
| 1759 | value)) | 1761 | value)) |
| 1760 | 1762 | ||
| 1763 | (defun ffap-other-tab (filename) | ||
| 1764 | "Like `ffap', but put buffer in another tab. | ||
| 1765 | Only intended for interactive use." | ||
| 1766 | (interactive (list (ffap-prompter nil " other tab"))) | ||
| 1767 | (pcase (save-window-excursion (find-file-at-point filename)) | ||
| 1768 | ((or (and (pred bufferp) b) `(,(and (pred bufferp) b) . ,_)) | ||
| 1769 | (switch-to-buffer-other-tab b)))) | ||
| 1770 | |||
| 1761 | (defun ffap--toggle-read-only (buffer-or-list) | 1771 | (defun ffap--toggle-read-only (buffer-or-list) |
| 1762 | (dolist (buffer (if (listp buffer-or-list) | 1772 | (dolist (buffer (if (listp buffer-or-list) |
| 1763 | buffer-or-list | 1773 | buffer-or-list |
| @@ -2013,6 +2023,7 @@ This hook is intended to be put in `file-name-at-point-functions'." | |||
| 2013 | 2023 | ||
| 2014 | (global-set-key [remap find-file-other-window] 'ffap-other-window) | 2024 | (global-set-key [remap find-file-other-window] 'ffap-other-window) |
| 2015 | (global-set-key [remap find-file-other-frame] 'ffap-other-frame) | 2025 | (global-set-key [remap find-file-other-frame] 'ffap-other-frame) |
| 2026 | (global-set-key [remap find-file-other-tab] 'ffap-other-tab) | ||
| 2016 | (global-set-key [remap find-file-read-only-other-window] 'ffap-read-only-other-window) | 2027 | (global-set-key [remap find-file-read-only-other-window] 'ffap-read-only-other-window) |
| 2017 | (global-set-key [remap find-file-read-only-other-frame] 'ffap-read-only-other-frame) | 2028 | (global-set-key [remap find-file-read-only-other-frame] 'ffap-read-only-other-frame) |
| 2018 | 2029 | ||
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index 8132f8d9933..8892e800cd6 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el | |||
| @@ -39,7 +39,6 @@ | |||
| 39 | ;; browse-url-chrome Chrome 47.0.2526.111 | 39 | ;; browse-url-chrome Chrome 47.0.2526.111 |
| 40 | ;; browse-url-chromium Chromium 3.0 | 40 | ;; browse-url-chromium Chromium 3.0 |
| 41 | ;; browse-url-epiphany Epiphany Don't know | 41 | ;; browse-url-epiphany Epiphany Don't know |
| 42 | ;; browse-url-conkeror Conkeror Don't know | ||
| 43 | ;; browse-url-w3 w3 0 | 42 | ;; browse-url-w3 w3 0 |
| 44 | ;; browse-url-text-* Any text browser 0 | 43 | ;; browse-url-text-* Any text browser 0 |
| 45 | ;; browse-url-generic arbitrary | 44 | ;; browse-url-generic arbitrary |
| @@ -154,7 +153,6 @@ | |||
| 154 | (function-item :tag "Google Chrome" :value browse-url-chrome) | 153 | (function-item :tag "Google Chrome" :value browse-url-chrome) |
| 155 | (function-item :tag "Chromium" :value browse-url-chromium) | 154 | (function-item :tag "Chromium" :value browse-url-chromium) |
| 156 | (function-item :tag "Epiphany" :value browse-url-epiphany) | 155 | (function-item :tag "Epiphany" :value browse-url-epiphany) |
| 157 | (function-item :tag "Conkeror" :value browse-url-conkeror) | ||
| 158 | (function-item :tag "Text browser in an xterm window" | 156 | (function-item :tag "Text browser in an xterm window" |
| 159 | :value browse-url-text-xterm) | 157 | :value browse-url-text-xterm) |
| 160 | (function-item :tag "Text browser in an Emacs window" | 158 | (function-item :tag "Text browser in an Emacs window" |
| @@ -396,6 +394,8 @@ If non-nil, then open the URL in a new buffer rather than a new window if | |||
| 396 | :version "25.1" | 394 | :version "25.1" |
| 397 | :type 'boolean) | 395 | :type 'boolean) |
| 398 | 396 | ||
| 397 | (make-obsolete-variable 'browse-url-conkeror-new-window-is-buffer nil "28.1") | ||
| 398 | |||
| 399 | (defcustom browse-url-galeon-new-window-is-tab nil | 399 | (defcustom browse-url-galeon-new-window-is-tab nil |
| 400 | "Whether to open up new windows in a tab or a new window. | 400 | "Whether to open up new windows in a tab or a new window. |
| 401 | If non-nil, then open the URL in a new tab rather than a new window if | 401 | If non-nil, then open the URL in a new tab rather than a new window if |
| @@ -449,11 +449,15 @@ commands reverses the effect of this variable." | |||
| 449 | :type 'string | 449 | :type 'string |
| 450 | :version "25.1") | 450 | :version "25.1") |
| 451 | 451 | ||
| 452 | (make-obsolete-variable 'browse-url-conkeror-program nil "28.1") | ||
| 453 | |||
| 452 | (defcustom browse-url-conkeror-arguments nil | 454 | (defcustom browse-url-conkeror-arguments nil |
| 453 | "A list of strings to pass to Conkeror as arguments." | 455 | "A list of strings to pass to Conkeror as arguments." |
| 454 | :version "25.1" | 456 | :version "25.1" |
| 455 | :type '(repeat (string :tag "Argument"))) | 457 | :type '(repeat (string :tag "Argument"))) |
| 456 | 458 | ||
| 459 | (make-obsolete-variable 'browse-url-conkeror-arguments nil "28.1") | ||
| 460 | |||
| 457 | (defcustom browse-url-filename-alist | 461 | (defcustom browse-url-filename-alist |
| 458 | `(("^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*" . "ftp://\\2/") | 462 | `(("^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*" . "ftp://\\2/") |
| 459 | ;; The above loses the username to avoid the browser prompting for | 463 | ;; The above loses the username to avoid the browser prompting for |
| @@ -1072,7 +1076,7 @@ instead of `browse-url-new-window-flag'." | |||
| 1072 | ((executable-find browse-url-kde-program) 'browse-url-kde) | 1076 | ((executable-find browse-url-kde-program) 'browse-url-kde) |
| 1073 | ;;; ((executable-find browse-url-netscape-program) 'browse-url-netscape) | 1077 | ;;; ((executable-find browse-url-netscape-program) 'browse-url-netscape) |
| 1074 | ;;; ((executable-find browse-url-mosaic-program) 'browse-url-mosaic) | 1078 | ;;; ((executable-find browse-url-mosaic-program) 'browse-url-mosaic) |
| 1075 | ((executable-find browse-url-conkeror-program) 'browse-url-conkeror) | 1079 | ;;; ((executable-find browse-url-conkeror-program) 'browse-url-conkeror) |
| 1076 | ((executable-find browse-url-chrome-program) 'browse-url-chrome) | 1080 | ((executable-find browse-url-chrome-program) 'browse-url-chrome) |
| 1077 | ((executable-find browse-url-xterm-program) 'browse-url-text-xterm) | 1081 | ((executable-find browse-url-xterm-program) 'browse-url-text-xterm) |
| 1078 | ((locate-library "w3") 'browse-url-w3) | 1082 | ((locate-library "w3") 'browse-url-w3) |
| @@ -1546,6 +1550,7 @@ new window, load it in a new buffer in an existing window instead. | |||
| 1546 | 1550 | ||
| 1547 | When called non-interactively, use optional second argument | 1551 | When called non-interactively, use optional second argument |
| 1548 | NEW-WINDOW instead of `browse-url-new-window-flag'." | 1552 | NEW-WINDOW instead of `browse-url-new-window-flag'." |
| 1553 | (declare (obsolete nil "28.1")) | ||
| 1549 | (interactive (browse-url-interactive-arg "URL: ")) | 1554 | (interactive (browse-url-interactive-arg "URL: ")) |
| 1550 | (setq url (browse-url-encode-url url)) | 1555 | (setq url (browse-url-encode-url url)) |
| 1551 | (let* ((process-environment (browse-url-process-environment))) | 1556 | (let* ((process-environment (browse-url-process-environment))) |
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index 17ffea59ff0..2369cb03428 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el | |||
| @@ -1174,7 +1174,7 @@ since CC Mode treats every identifier as an expression." | |||
| 1174 | 1174 | ||
| 1175 | ;; Exception. | 1175 | ;; Exception. |
| 1176 | ,@(when (c-major-mode-is 'c++-mode) | 1176 | ,@(when (c-major-mode-is 'c++-mode) |
| 1177 | '((prefix "throw"))) | 1177 | '((prefix "throw" "co_await" "co_yield"))) |
| 1178 | 1178 | ||
| 1179 | ;; Sequence. | 1179 | ;; Sequence. |
| 1180 | (left-assoc ",")) | 1180 | (left-assoc ",")) |
| @@ -2040,6 +2040,7 @@ the appropriate place for that." | |||
| 2040 | (c-lang-defconst c-return-kwds | 2040 | (c-lang-defconst c-return-kwds |
| 2041 | "Keywords which return a value to the calling function." | 2041 | "Keywords which return a value to the calling function." |
| 2042 | t '("return") | 2042 | t '("return") |
| 2043 | c++ '("return" "co_return") | ||
| 2043 | idl nil) | 2044 | idl nil) |
| 2044 | 2045 | ||
| 2045 | (c-lang-defconst c-return-key | 2046 | (c-lang-defconst c-return-key |
| @@ -2822,6 +2823,7 @@ Keywords here should also be in `c-block-stmt-1-kwds'." | |||
| 2822 | (c-lang-defconst c-simple-stmt-kwds | 2823 | (c-lang-defconst c-simple-stmt-kwds |
| 2823 | "Statement keywords followed by an expression or nothing." | 2824 | "Statement keywords followed by an expression or nothing." |
| 2824 | t '("break" "continue" "goto" "return") | 2825 | t '("break" "continue" "goto" "return") |
| 2826 | c++ '("break" "continue" "goto" "return" "co_return") | ||
| 2825 | objc '("break" "continue" "goto" "return" "@throw") | 2827 | objc '("break" "continue" "goto" "return" "@throw") |
| 2826 | ;; Note: `goto' is not valid in Java, but the keyword is still reserved. | 2828 | ;; Note: `goto' is not valid in Java, but the keyword is still reserved. |
| 2827 | java '("break" "continue" "goto" "return" "throw") | 2829 | java '("break" "continue" "goto" "return" "throw") |
diff --git a/lisp/xml.el b/lisp/xml.el index 767cf042846..10ef8e2087a 100644 --- a/lisp/xml.el +++ b/lisp/xml.el | |||
| @@ -1032,7 +1032,8 @@ by https://www.w3.org/TR/xml/#charsets), signal an error of type | |||
| 1032 | (insert string) | 1032 | (insert string) |
| 1033 | (goto-char (point-min)) | 1033 | (goto-char (point-min)) |
| 1034 | (when (re-search-forward | 1034 | (when (re-search-forward |
| 1035 | "[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]") | 1035 | "[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]" |
| 1036 | nil t) | ||
| 1036 | (signal 'xml-invalid-character (list (char-before) (match-beginning 0)))) | 1037 | (signal 'xml-invalid-character (list (char-before) (match-beginning 0)))) |
| 1037 | (dolist (substitution '(("&" . "&") | 1038 | (dolist (substitution '(("&" . "&") |
| 1038 | ("<" . "<") | 1039 | ("<" . "<") |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 681f86f51ba..5d1ce6de97c 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1404,10 +1404,15 @@ xg_free_frame_widgets (struct frame *f) | |||
| 1404 | FRAME_X_WINDOW (f) = 0; /* Set to avoid XDestroyWindow in xterm.c */ | 1404 | FRAME_X_WINDOW (f) = 0; /* Set to avoid XDestroyWindow in xterm.c */ |
| 1405 | FRAME_X_RAW_DRAWABLE (f) = 0; | 1405 | FRAME_X_RAW_DRAWABLE (f) = 0; |
| 1406 | FRAME_GTK_OUTER_WIDGET (f) = 0; | 1406 | FRAME_GTK_OUTER_WIDGET (f) = 0; |
| 1407 | if (x->ttip_widget) | ||
| 1408 | { | ||
| 1409 | /* Remove ttip_lbl from ttip_widget's custom slot before | ||
| 1410 | destroying it, to avoid double-free (Bug#41239). */ | ||
| 1411 | gtk_tooltip_set_custom (x->ttip_widget, NULL); | ||
| 1412 | g_object_unref (G_OBJECT (x->ttip_widget)); | ||
| 1413 | } | ||
| 1407 | if (x->ttip_lbl) | 1414 | if (x->ttip_lbl) |
| 1408 | gtk_widget_destroy (x->ttip_lbl); | 1415 | gtk_widget_destroy (x->ttip_lbl); |
| 1409 | if (x->ttip_widget) | ||
| 1410 | g_object_unref (G_OBJECT (x->ttip_widget)); | ||
| 1411 | } | 1416 | } |
| 1412 | } | 1417 | } |
| 1413 | 1418 | ||