diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ab12e064aaa..0b0192a545d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-11-08 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-report-error): + Allow the argument to be a string. Due to the vague doc, + it was already being used this way. + 2014-11-08 Michael Albinus * net/tramp.el (tramp-check-cached-permissions): Include hop in diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 7fd72dd7705..fdb8cc8f39d 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1165,10 +1165,13 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'." (byte-compile-warn "%s" msg))))) (defun byte-compile-report-error (error-info) - "Report Lisp error in compilation. ERROR-INFO is the error data." + "Report Lisp error in compilation. +ERROR-INFO is the error data, in the form of either (ERROR-SYMBOL . DATA) +or STRING." (setq byte-compiler-error-flag t) (byte-compile-log-warning - (error-message-string error-info) + (if (stringp error-info) error-info + (error-message-string error-info)) nil :error)) ;;; sanity-checking arglists diff --git a/src/ChangeLog b/src/ChangeLog index e3f34e27dfc..82a9b24876c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2,6 +2,8 @@ * nsterm.m (run): Only use non-system event loop if OSX version is exactly 10.9 (Bug#18993). + (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless + needed (Bug#18757). 2014-11-08 Michael Albinus diff --git a/src/nsterm.m b/src/nsterm.m index 216678357e7..318f14acfc8 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -3759,6 +3759,7 @@ overwriting cursor (usually when cursor on a tab) */ EmacsScroller *bar; int window_y, window_height; int top, left, height, width; + BOOL update_p = YES; /* optimization; display engine sends WAY too many of these.. */ if (!NILP (window->vertical_scroll_bar)) @@ -3773,6 +3774,7 @@ overwriting cursor (usually when cursor on a tab) */ } else view->scrollbarsNeedingUpdate--; + update_p = NO; } } @@ -3814,6 +3816,7 @@ overwriting cursor (usually when cursor on a tab) */ bar = [[EmacsScroller alloc] initFrame: r window: win]; wset_vertical_scroll_bar (window, make_save_ptr (bar)); + update_p = YES; } else { @@ -3916,10 +3919,12 @@ overwriting cursor (usually when cursor on a tab) */ if (oldRect.origin.x != r.origin.x) ns_clear_frame_area (f, left, top, width, height); [bar setFrame: r]; + update_p = YES; } } - [bar setPosition: position portion: portion whole: whole]; + if (update_p) + [bar setPosition: position portion: portion whole: whole]; unblock_input (); }