emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] cairo fb77948: Merge branch 'master' into cairo, fixes too


From: Jan D.
Subject: [Emacs-diffs] cairo fb77948: Merge branch 'master' into cairo, fixes tooltips not shown.
Date: Fri, 03 Apr 2015 12:02:36 +0000

branch: cairo
commit fb77948660d9a1d21339bb9657e1227063911ddc
Merge: 75c8741 c775195
Author: Jan D <address@hidden>
Commit: Jan D <address@hidden>

    Merge branch 'master' into cairo, fixes tooltips not shown.
---
 ChangeLog          |    5 +++++
 configure.ac       |   15 +++++++++++++--
 lisp/ChangeLog     |    5 +++++
 lisp/pcmpl-unix.el |    2 +-
 src/ChangeLog      |    5 +++++
 src/xterm.c        |   17 ++++++++++++-----
 6 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 35e28ab..3ffd4a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-03  Ulrich Müller  <address@hidden>
+
+       * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it
+       is supported, in order to avoid segfaults in temacs.  (Bug#18784)
+
 2015-03-27  Pete Williamson  <address@hidden>  (tiny change)
 
        Add NaCl target
diff --git a/configure.ac b/configure.ac
index 1247f13..f2cb28d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5055,11 +5055,22 @@ case "$opsys" in
    esac
    ;;
 
-  openbsd) LD_SWITCH_SYSTEM_TEMACS='-nopie' ;;
-
   *) LD_SWITCH_SYSTEM_TEMACS= ;;
 esac
 
+AC_CACHE_CHECK([whether the linker accepts -nopie],
+  [emacs_cv_prog_cc_nopie],
+  [emacs_save_LDFLAGS=$LDFLAGS
+  LDFLAGS="$LDFLAGS -nopie"
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+    [emacs_cv_prog_cc_nopie=yes],
+    [emacs_cv_prog_cc_nopie=no])
+  LDFLAGS=$emacs_save_LDFLAGS])
+if test "$emacs_cv_prog_cc_nopie" = yes; then
+  # Disable PIE to avoid segfaults in temacs (bug#18784)
+  LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -nopie"
+fi
+
 if test x$ac_enable_profiling != x ; then
   case $opsys in
     *freebsd | gnu-linux) ;;
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d7abeac..261b2ab03 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-03  Nicolas Richard  <address@hidden>
+
+       * pcmpl-unix.el (pcmpl-ssh-known-hosts): Use `char-before' instead
+       of `looking-back' (bug#17284).
+
 2015-04-03  Dmitry Gutov  <address@hidden>
 
        * progmodes/js.el (js-indent-line): Do nothing when bol is inside
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el
index 3598cd6..7be57e9 100644
--- a/lisp/pcmpl-unix.el
+++ b/lisp/pcmpl-unix.el
@@ -157,7 +157,7 @@ documentation), this function returns nil."
         (while (re-search-forward (concat "^ *" host-re) nil t)
           (add-to-list 'ssh-hosts-list (concat (match-string 1)
                                                (match-string 2)))
-          (while (and (looking-back ",")
+          (while (and (eq (char-before) ?,)
                       (re-search-forward host-re (line-end-position) t))
             (add-to-list 'ssh-hosts-list (concat (match-string 1)
                                                  (match-string 2)))))
diff --git a/src/ChangeLog b/src/ChangeLog
index 8fe0e6f..e41da25 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-03  Jan Djärv  <address@hidden>
+
+       * xterm.c (handle_one_xevent): Always redraw tool tips on
+       MapNotify.  Update tool tip frame sizes on ConfigureNotify.
+
 2015-03-31  Eli Zaretskii  <address@hidden>
 
        * keyboard.c (read_key_sequence): Don't let
diff --git a/src/xterm.c b/src/xterm.c
index 6bc79ad..6bd0930 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7792,11 +7792,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
       goto OTHER;
 
     case MapNotify:
-      if (event->xmap.window == tip_window)
-        /* The tooltip has been drawn already.  Avoid
-           the SET_FRAME_GARBAGED below.  */
-        goto OTHER;
-
       /* We use x_top_window_to_frame because map events can
          come for sub-windows and they don't mean that the
          frame is visible.  */
@@ -8330,6 +8325,18 @@ handle_one_xevent (struct x_display_info *dpyinfo,
         {
          x_net_wm_state (f, event->xconfigure.window);
 
+#ifdef USE_X_TOOLKIT
+          /* Tip frames are pure X window, set size for them.  */
+          if (! NILP (tip_frame) && XFRAME (tip_frame) == f)
+            {
+              if (FRAME_PIXEL_HEIGHT (f) != event->xconfigure.height
+                  || FRAME_PIXEL_WIDTH (f) != event->xconfigure.width)
+                SET_FRAME_GARBAGED (f);
+              FRAME_PIXEL_HEIGHT (f) = event->xconfigure.height;
+              FRAME_PIXEL_WIDTH (f) = event->xconfigure.width;
+            }
+#endif
+
 #ifndef USE_X_TOOLKIT
 #ifndef USE_GTK
           int width = FRAME_PIXEL_TO_TEXT_WIDTH (f, event->xconfigure.width);



reply via email to

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