emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp b478d57 5/5: Merge remote-tracking branch 'savannah/


From: Andrea Corallo
Subject: feature/native-comp b478d57 5/5: Merge remote-tracking branch 'savannah/master' into HEAD
Date: Mon, 25 May 2020 11:05:36 -0400 (EDT)

branch: feature/native-comp
commit b478d57e73ccff63788de805bfe178481ff084cf
Merge: 2bc41e0 c812223
Author: Andrea Corallo <address@hidden>
Commit: Andrea Corallo <address@hidden>

    Merge remote-tracking branch 'savannah/master' into HEAD
---
 etc/NEWS                   |  2 ++
 lisp/eshell/eshell.el      | 22 +++++++++++++---------
 lisp/ffap.el               | 11 +++++++++++
 lisp/net/browse-url.el     | 11 ++++++++---
 lisp/progmodes/cc-langs.el |  4 +++-
 lisp/xml.el                |  3 ++-
 src/gtkutil.c              |  9 +++++++--
 7 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index efad273..4bc00cc 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -362,6 +362,8 @@ symbol property to the browsing functions.  With a new 
command
 'browse-url-with-browser-kind', an URL can explicitly be browsed with
 either an internal or external browser.
 
+*** Support for the conkeror browser is now obsolete.
+
 ** SHR
 
 ---
diff --git a/lisp/eshell/eshell.el b/lisp/eshell/eshell.el
index 2a63882..5ffb159 100644
--- a/lisp/eshell/eshell.el
+++ b/lisp/eshell/eshell.el
@@ -265,14 +265,18 @@ information on Eshell, see Info node `(eshell)Top'."
       (eshell-mode))
     buf))
 
-(defun eshell-return-exits-minibuffer ()
-  ;; This is supposedly run after enabling esh-mode, when eshell-mode-map
-  ;; already exists.
-  (defvar eshell-mode-map)
-  (define-key eshell-mode-map [(control ?g)] 'abort-recursive-edit)
-  (define-key eshell-mode-map [(control ?m)] 'exit-minibuffer)
-  (define-key eshell-mode-map [(control ?j)] 'exit-minibuffer)
-  (define-key eshell-mode-map [(meta control ?m)] 'exit-minibuffer))
+(define-minor-mode eshell-command-mode
+  "Minor mode for `eshell-command' input.
+\\{eshell-command-mode-map}"
+  :keymap (let ((map (make-sparse-keymap)))
+            (define-key map [(control ?g)] 'abort-recursive-edit)
+            (define-key map [(control ?m)] 'exit-minibuffer)
+            (define-key map [(control ?j)] 'exit-minibuffer)
+            (define-key map [(meta control ?m)] 'exit-minibuffer)
+            map))
+
+(define-obsolete-function-alias 'eshell-return-exits-minibuffer
+  #'eshell-command-mode "28.1")
 
 (defvar eshell-non-interactive-p nil
   "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."
     ;; Enable `eshell-mode' only in this minibuffer.
     (minibuffer-with-setup-hook #'(lambda ()
                                     (eshell-mode)
-                                    (eshell-return-exits-minibuffer))
+                                    (eshell-command-mode +1))
       (unless command
         (setq command (read-from-minibuffer "Emacs shell command: "))
        (if (eshell-using-module 'eshell-hist)
diff --git a/lisp/ffap.el b/lisp/ffap.el
index d656b37..ceba9d2 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -54,6 +54,8 @@
 ;; C-x 5 r             ffap-read-only-other-frame
 ;; C-x 5 d             ffap-dired-other-frame
 ;;
+;; C-x t f             ffap-other-tab
+;;
 ;; S-mouse-3     ffap-at-mouse
 ;; C-S-mouse-3   ffap-menu
 ;;
@@ -1758,6 +1760,14 @@ Only intended for interactive use."
       (set-window-dedicated-p win wdp))
     value))
 
+(defun ffap-other-tab (filename)
+  "Like `ffap', but put buffer in another tab.
+Only intended for interactive use."
+  (interactive (list (ffap-prompter nil " other tab")))
+  (pcase (save-window-excursion (find-file-at-point filename))
+    ((or (and (pred bufferp) b) `(,(and (pred bufferp) b) . ,_))
+     (switch-to-buffer-other-tab b))))
+
 (defun ffap--toggle-read-only (buffer-or-list)
   (dolist (buffer (if (listp buffer-or-list)
                      buffer-or-list
@@ -2013,6 +2023,7 @@ This hook is intended to be put in 
`file-name-at-point-functions'."
 
      (global-set-key [remap find-file-other-window] 'ffap-other-window)
      (global-set-key [remap find-file-other-frame] 'ffap-other-frame)
+     (global-set-key [remap find-file-other-tab] 'ffap-other-tab)
      (global-set-key [remap find-file-read-only-other-window] 
'ffap-read-only-other-window)
      (global-set-key [remap find-file-read-only-other-frame] 
'ffap-read-only-other-frame)
 
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 8132f8d..8892e80 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -39,7 +39,6 @@
 ;; browse-url-chrome                  Chrome      47.0.2526.111
 ;; browse-url-chromium                Chromium    3.0
 ;; browse-url-epiphany                Epiphany    Don't know
-;; browse-url-conkeror                Conkeror    Don't know
 ;; browse-url-w3                      w3          0
 ;; browse-url-text-*                 Any text browser     0
 ;; browse-url-generic                 arbitrary
@@ -154,7 +153,6 @@
     (function-item :tag "Google Chrome" :value browse-url-chrome)
     (function-item :tag "Chromium" :value browse-url-chromium)
     (function-item :tag "Epiphany" :value  browse-url-epiphany)
-    (function-item :tag "Conkeror" :value  browse-url-conkeror)
     (function-item :tag "Text browser in an xterm window"
                   :value browse-url-text-xterm)
     (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
   :version "25.1"
   :type 'boolean)
 
+(make-obsolete-variable 'browse-url-conkeror-new-window-is-buffer nil "28.1")
+
 (defcustom browse-url-galeon-new-window-is-tab nil
   "Whether to open up new windows in a tab or a new window.
 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."
   :type 'string
   :version "25.1")
 
+(make-obsolete-variable 'browse-url-conkeror-program nil "28.1")
+
 (defcustom browse-url-conkeror-arguments nil
   "A list of strings to pass to Conkeror as arguments."
   :version "25.1"
   :type '(repeat (string :tag "Argument")))
 
+(make-obsolete-variable 'browse-url-conkeror-arguments nil "28.1")
+
 (defcustom browse-url-filename-alist
   `(("^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*" . "ftp://\\2/";)
     ;; The above loses the username to avoid the browser prompting for
@@ -1072,7 +1076,7 @@ instead of `browse-url-new-window-flag'."
     ((executable-find browse-url-kde-program) 'browse-url-kde)
 ;;;    ((executable-find browse-url-netscape-program) 'browse-url-netscape)
 ;;;    ((executable-find browse-url-mosaic-program) 'browse-url-mosaic)
-    ((executable-find browse-url-conkeror-program) 'browse-url-conkeror)
+;;;    ((executable-find browse-url-conkeror-program) 'browse-url-conkeror)
     ((executable-find browse-url-chrome-program) 'browse-url-chrome)
     ((executable-find browse-url-xterm-program) 'browse-url-text-xterm)
     ((locate-library "w3") 'browse-url-w3)
@@ -1546,6 +1550,7 @@ new window, load it in a new buffer in an existing window 
instead.
 
 When called non-interactively, use optional second argument
 NEW-WINDOW instead of `browse-url-new-window-flag'."
+  (declare (obsolete nil "28.1"))
   (interactive (browse-url-interactive-arg "URL: "))
   (setq url (browse-url-encode-url url))
   (let* ((process-environment (browse-url-process-environment)))
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 17ffea5..2369cb0 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."
 
       ;; Exception.
       ,@(when (c-major-mode-is 'c++-mode)
-         '((prefix "throw")))
+         '((prefix "throw" "co_await" "co_yield")))
 
       ;; Sequence.
       (left-assoc ","))
@@ -2040,6 +2040,7 @@ the appropriate place for that."
 (c-lang-defconst c-return-kwds
   "Keywords which return a value to the calling function."
   t '("return")
+  c++ '("return" "co_return")
   idl nil)
 
 (c-lang-defconst c-return-key
@@ -2822,6 +2823,7 @@ Keywords here should also be in `c-block-stmt-1-kwds'."
 (c-lang-defconst c-simple-stmt-kwds
   "Statement keywords followed by an expression or nothing."
   t    '("break" "continue" "goto" "return")
+  c++    '("break" "continue" "goto" "return" "co_return")
   objc '("break" "continue" "goto" "return" "@throw")
   ;; Note: `goto' is not valid in Java, but the keyword is still reserved.
   java '("break" "continue" "goto" "return" "throw")
diff --git a/lisp/xml.el b/lisp/xml.el
index 767cf04..10ef8e2 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
     (insert string)
     (goto-char (point-min))
     (when (re-search-forward
-           
"[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]")
+           
"[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]"
+           nil t)
       (signal 'xml-invalid-character (list (char-before) (match-beginning 0))))
     (dolist (substitution '(("&" . "&amp;")
                            ("<" . "&lt;")
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 681f86f..5d1ce6d 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1404,10 +1404,15 @@ xg_free_frame_widgets (struct frame *f)
       FRAME_X_WINDOW (f) = 0; /* Set to avoid XDestroyWindow in xterm.c */
       FRAME_X_RAW_DRAWABLE (f) = 0;
       FRAME_GTK_OUTER_WIDGET (f) = 0;
+      if (x->ttip_widget)
+        {
+          /* Remove ttip_lbl from ttip_widget's custom slot before
+             destroying it, to avoid double-free (Bug#41239).  */
+          gtk_tooltip_set_custom (x->ttip_widget, NULL);
+          g_object_unref (G_OBJECT (x->ttip_widget));
+        }
       if (x->ttip_lbl)
         gtk_widget_destroy (x->ttip_lbl);
-      if (x->ttip_widget)
-        g_object_unref (G_OBJECT (x->ttip_widget));
     }
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]