commit e5dbeb77f4da2fe8b13e13bfe8d5ce4565b83f56 (HEAD, refs/remotes/origin/master) Author: Jaesup Kwak Date: Fri Nov 24 11:33:32 2017 +0200 Avoid unnecessary xwidget_view creations * src/xwidget.c (x_draw_xwidget_glyph_string): Don't create new xwidget view if we have a usable one already. Copyright-paperwork-exempt: yes diff --git a/src/xwidget.c b/src/xwidget.c index a0c9e03477..a67dc0ecf4 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -585,22 +585,20 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) xwidget on screen. Moving and clipping is done here. Also view initialization. */ struct xwidget *xww = s->xwidget; - struct xwidget_view *xv; + struct xwidget_view *xv = xwidget_view_lookup (xww, s->w); int clip_right; int clip_bottom; int clip_top; int clip_left; - /* FIXME: The result of this call is discarded. - What if the lookup fails? */ - xwidget_view_lookup (xww, s->w); - int x = s->x; int y = s->y + (s->height / 2) - (xww->height / 2); /* Do initialization here in the display loop because there is no - other time to know things like window placement etc. */ - xv = xwidget_init_view (xww, s, x, y); + other time to know things like window placement etc. Do not + create a new view if we have found one that is usable. */ + if (!xv) + xv = xwidget_init_view (xww, s, x, y); int text_area_x, text_area_y, text_area_width, text_area_height; commit ed36c71a1e36b919c57cd9f1ab73210e64810fcb Author: Alex Branham Date: Fri Nov 24 10:59:12 2017 +0200 More informative error when autosave file is not available * lisp/files.el (recover-file): Distinguish in error messages between autosave file not existing and not being current. (Bug#29179) diff --git a/lisp/files.el b/lisp/files.el index ae90d19f2f..63dd509eab 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -5881,7 +5881,11 @@ an auto-save file." (error "%s is an auto-save file" (abbreviate-file-name file))) (let ((file-name (let ((buffer-file-name file)) (make-auto-save-file-name)))) - (cond ((if (file-exists-p file) + (cond ((and (file-exists-p file) + (not (file-exists-p file-name))) + (error "Auto save file %s does not exist" + (abbreviate-file-name file-name))) + ((if (file-exists-p file) (not (file-newer-than-file-p file-name file)) (not (file-exists-p file-name))) (error "Auto-save file %s not current" commit 197dd690112e8eef6457b16adbe6e2c1d801c849 Author: Stefan Monnier Date: Thu Nov 23 13:35:15 2017 -0500 * lisp/simple.el (clone-buffer): Adjust `mark-ring' diff --git a/lisp/simple.el b/lisp/simple.el index fde6669df1..41f22b2396 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -8516,13 +8516,16 @@ after it has been set up properly in other respects." ;; Set up other local variables. (mapc (lambda (v) - (condition-case () ;in case var is read-only + (condition-case () (if (symbolp v) (makunbound v) (set (make-local-variable (car v)) (cdr v))) - (error nil))) + (setting-constant nil))) ;E.g. for enable-multibyte-characters. lvars) + (setq mark-ring (mapcar (lambda (mk) (copy-marker (marker-position mk))) + mark-ring)) + ;; Run any hooks (typically set up by the major mode ;; for cloning to work properly). (run-hooks 'clone-buffer-hook))