Suppress warning in isearchb about iswitchb being obsolete
* lisp/isearchb.el (obsolete): Suppress warning about package
being obsolete. Instead, this has been reported to the bug
tracker, because it requires a rewrite of isearchb.
Make do-after-load-evaluation check whether warnings are enabled.
* lisp/subr.el (do-after-load-evaluation): Heed
`byte-compile-warning-enabled-p', if defined. This allows
suppressing the warning about packages being obsolete.
* lisp/emacs-lisp/eieio.el (cl-print-object): Suppress the warning
about object-print being obsolete, since there are no in-tree
methods like that any more.
Make with-suppressed-warnings work in cl-defmethod
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Pass the symbol
name on to `byte-compile-warning-enabled-p' to make
with-suppressed-warnings work in cl-defmethods, too.
* lisp/cedet/semantic/db.el (object-print): Remove; unused.
* lisp/cedet/semantic/db.el (semanticdb-debug-info): New method.
(object-print): Rewritten to be cl-print-object.
* lisp/emacs-lisp/eieio.el (eieio-object-name): Allow the EXTRA
argument to be a list of strings.
Eric Abrahamsen [Mon, 17 Jun 2019 02:14:25 +0000 (19:14 -0700)]
Prevent the Gnus registry from being loaded twice at startup
* lisp/gnus/gnus-registry.el (gnus-registry-load): Check if the
registry is already loaded, and don't load again unless new optional
FORCE argument is non-nil.
(gnus-registry-clear): New function to clear the registry, added as
a Gnus shutdown. Now that loading doesn't unilaterally reset the
registry, we need to make sure it is reloaded when Gnus is.
Fix up the --no-print-directory changes in src/Makefile.in
* src/Makefile.in (AM_V_NO_PD): New macro written by Andreas
Schwab that can be either --no-print-directory or "".
(%.elc): Use it instead if the if statement.
Alan Mackenzie [Sun, 16 Jun 2019 15:46:12 +0000 (15:46 +0000)]
CC Mode: Remedy recent loss in performance
* lisp/progmodes/cc-engine.el (c-back-over-member-initializers): call
c-parse-state outside of the narrowing operation.
* lisp/progmodes/cc-fonts.el (c-get-fontification-context)
(c-font-lock-cut-off-declarators): Replace calls to c-determine-limit with
crude position calculations for speed.
Avoid "unknown slot" compilation warning in eieio-custom
* lisp/emacs-lisp/eieio-custom.el
(eieio-read-customization-group): Slot `name' may not exist in all
classes, so protect against that (and avoid a compilation warning
about it).
Alan Mackenzie [Sun, 16 Jun 2019 11:52:01 +0000 (11:52 +0000)]
Maintain c-syntax-table-hwm when changing syntax-table text properties
* lisp/progmodes/cc-defs.el: (c-syntax-table-hwm): Move the defvar to here
from cc-mode.el, since the variable is needed at compile time in
c-emacs-features.
(c-min-property-position): New macro.
(c-put-char-property, c-clear-char-property, c-clear-char-properties)
(c-clear-char-property-with-value-function)
(c-clear-char-property-with-value-on-char-function)
(c-put-char-properties-on-char): Adjust c-syntax-table-hwm appropriately when
syntax-table text properties are changed.
* lisp/progmodes/cc-engine.el (c-truncate-lit-pos-cache): Remove the now
unneeded setting of c-syntax-table-hwm, and the unneeded declaration of
c-syntax-table-hwm.
Dmitry Gutov [Sun, 16 Jun 2019 00:49:46 +0000 (03:49 +0300)]
Fix regressions in xref-find-definitions and ...-other-window
* lisp/progmodes/xref.el:
(xref--display-buffer-in-other-window)
(xref--display-buffer-in-window): New functions.
(xref--show-pos-in-buf): Use them (bug#33870)
Noam Postavsky [Wed, 12 Jun 2019 11:31:23 +0000 (07:31 -0400)]
Always try to display tree-widget with images (Bug#36147)
Checking the result of display-images-p doesn't make sense if the
display capabilities when loading the file are different from the
display used to actually look at the widget (which is easily possible
now that Emacs supports both tty and graphic frames in the same
instance).
* lisp/tree-widget.el (tree-widget-image-enable): Default to t,
always. This still shows text on displays that can't show images.
Glenn Morris [Sat, 15 Jun 2019 16:50:32 +0000 (09:50 -0700)]
Merge from origin/emacs-26
f53ce87 ; ChangeLog.3 update eca2677 Fix description of 'display-buffer-in-previous-window' again ... 7be50cd Consistently use @minus{} for negative arguments
Eli Zaretskii [Sat, 15 Jun 2019 16:28:51 +0000 (19:28 +0300)]
Improve error message when dmpstruct.h needs to be updated
* src/pdumper.c (dump_cons, dump_interval_tree, dump_string)
(dump_marker, dump_overlay, dump_finalizer)
(dump_bignum, dump_float, dump_fwd_int, dump_fwd_bool)
(dump_fwd_obj, dump_fwd_buffer_obj, dump_fwd_kboard_obj)
(dump_fwd, dump_blv, dump_symbol, dump_vectorlike_generic)
(dump_hash_table, dump_buffer, dump_bool_vector, dump_subr)
(dump_vectorlike, dump_object, dump_charset) [CHECK_STRUCTS]:
Make the error message more specific where to find the comment
to CHECK_STRUCTS.
* lisp/mail/feedmail.el (feedmail-queue-send-edit-prompt-inner):
Return the helper function (instead of the symbol `helper') so
that the caller can actually call it.
* lisp/eshell/esh-cmd.el (pcomplete--here): Declare function to
avoid byte compilation warning, which is what erc-notify.el also
does in a similar situation.
Avoid printing entering/leaving messages in second stage bootstrap
* src/Makefile.in (%.elc): Default to not printing the
entering/leaving lines when compiling .el files in the second
stage of bootstrapping Emacs. V=1 will output them.
* lisp/calendar/cal-china.el (entry):
* lisp/calendar/cal-hebrew.el (entry): Suppress warning about
dynamically bound `entry', which has to be bound for
diary-chinese-anniversary and diary-hebrew-birthday to work.
These function can be used in the sexp part of users' diary files.
Michael Albinus [Sat, 15 Jun 2019 09:08:05 +0000 (11:08 +0200)]
Tag remote autorevert tests as unstable
* test/lisp/autorevert-tests.el (auto-revert--timeout):
Derive value from `auto-revert-interval'.
(auto-revert--deftest-remote): Tag it as `:unstable'.
(auto-revert-test05-global-notify, auto-revert-test06-write-file):
Suppress final newline. Use `auto-revert--timeout'.
* test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
Expect a failed result if remote file access is not enabled,
as it happens while doing the test on Windows.
* src/xterm.c (x_scroll_run) [USE_CAIRO]: Use FRAME_CR_CONTEXT or surface type
for conditions to call XCopyArea rather than FRAME_X_DOUBLE_BUFFERED_P.
Set compositing operator to CAIRO_OPERATOR_SOURCE when copying image.
Michael Albinus [Fri, 14 Jun 2019 17:45:00 +0000 (19:45 +0200)]
Fix problem in remote file notification
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter): Do not kill the process.
Let `file-notify-rm-watch' do the job.
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test05-file-validity)
(file-notify-test09-watched-file-in-watched-dir): Do not
special-case remote files.
* lisp/cedet/semantic/senator.el (senator-register): New class.
(register-val-jump-to, register-val-describe)
(register-val-insert): New methods.
(senator-copy-tag-to-register): Use this instead of the deprecated
registerv-make function.