]> code.delx.au - gnu-emacs/commitdiff
xdisp fix
authorJoakim Verona <joakim@verona.se>
Mon, 8 Apr 2013 22:21:04 +0000 (00:21 +0200)
committerJoakim Verona <joakim@verona.se>
Mon, 8 Apr 2013 22:21:04 +0000 (00:21 +0200)
1  2 
configure.ac
lisp/emacs-lisp/edebug.el
src/Makefile.in
src/dispextern.h
src/dispnew.c
src/keyboard.c
src/lisp.h
src/print.c
src/window.c
src/xdisp.c

diff --cc configure.ac
Simple merge
index 41b02da82fe20b0e1d6128b5c076b9f5807558ce,867f079ce5f609459eb8094348cd9109fe1b9d0c..e91e0408481be8e01e5a7ad03093517dab037f5a
@@@ -2864,13 -2794,12 +2850,12 @@@ MSG is printed after `::::} '.
              )
  
          (if (and (eq edebug-execution-mode 'go)
 -                 (not (memq arg-mode '(after error))))
 +                 (not (memq edebug-arg-mode '(after error))))
              (message "Break"))
  
-         (setq buffer-read-only t)
          (setq signal-hook-function nil)
  
-         (edebug-mode)
+         (edebug-mode 1)
          (unwind-protect
              (recursive-edit)          ;  <<<<<<<<<< Recursive edit
  
@@@ -4214,10 -4146,11 +4210,10 @@@ reinstrument it.
  It is removed when you hit any char."
    ;; This seems not to work with Emacs 18.59. It undoes too far.
    (interactive)
-   (let ((buffer-read-only nil))
+   (let ((inhibit-read-only t))
      (undo-boundary)
      (edebug-display-freq-count)
 -    (setq unread-command-events
 -          (append unread-command-events (list (read-event))))
 +    (setq unread-command-events (append unread-command-events (read-event)))
      ;; Yuck!  This doesn't seem to work at all for me.
      (undo)))
  
diff --cc src/Makefile.in
index 93d65867fa782fb8d96e592b3d1ab12058b5b52b,c6a067a1ade8bf8004bc12374dd7f6ec15899a3c..ac09d41858d0bd25b2e99b2bdd9ad13b48c9b537
@@@ -325,9 -316,8 +325,9 @@@ ALL_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I
    $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
    $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
    $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
 +  $(WEBKIT_CFLAGS) $(CLUTTER_CFLAGS) $(GIR_CFLAGS) \
    $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
-   $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \
+   $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
    $(LIBGNUTLS_CFLAGS) \
    $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS)
  ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
Simple merge
diff --cc src/dispnew.c
Simple merge
diff --cc src/keyboard.c
Simple merge
diff --cc src/lisp.h
Simple merge
diff --cc src/print.c
Simple merge
diff --cc src/window.c
Simple merge
diff --cc src/xdisp.c
index bd68b286f4e8d37913965f900e52d7fd880cb7a5,41214880a562434237c57aa84d99850dc67e6ebe..f8a9fd57dc1f698c699bff7b4b0e117cb953179e
@@@ -5018,19 -5006,6 +5018,19 @@@ handle_single_display_spec (struct it *
          *position = it->position = start_pos;
          retval = 1 + (it->area == TEXT_AREA);
        }
-         it->object = NILP (object) ? it->w->buffer : object;
 +#ifdef HAVE_XWIDGETS
 +      else if (XWIDGETP(value))
 +      {
 +          //printf("handle_single_display_spec: im an xwidget!!\n");
 +          it->what = IT_XWIDGET;
 +          it->method = GET_FROM_XWIDGET;
 +          it->position = start_pos;
++        it->object = NILP (object) ? it->w->contents : object;
 +        *position = start_pos;
 +
 +          it->xwidget = lookup_xwidget(value);
 +      }
 +#endif      
  #ifdef HAVE_WINDOW_SYSTEM
        else
        {