]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoAdd file sorting options to find-dired and grep-find (bug#36110)
Juri Linkov [Wed, 19 Jun 2019 21:55:07 +0000 (00:55 +0300)]
Add file sorting options to find-dired and grep-find (bug#36110)

* lisp/find-dired.el (find-ls-option-default-ls)
(find-ls-option-default-exec, find-ls-option-default-xargs):
New variables for values used for options of 'find-ls-option'.
(find-ls-option): Use these variables for default values and options.
(find-dired-refine-function): Refine :type.

* lisp/progmodes/grep.el (grep-find-use-xargs): Use defcustom
instead of defvar.  Add new value 'gnu-sort'.
(grep-compute-defaults): Handle new 'gnu-sort' option of
'grep-find-use-xargs'.

5 years agoRemove XEmacs and ancient Emacs compatibility from newst-backend.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 21:25:56 +0000 (23:25 +0200)]
Remove XEmacs and ancient Emacs compatibility from newst-backend.el

* lisp/net/newst-backend.el: Remove compatibility with XEmacs and
ancient Emacs versions.

5 years agoDoc string fix
Lars Ingebrigtsen [Wed, 19 Jun 2019 21:13:31 +0000 (23:13 +0200)]
Doc string fix

* lisp/calendar/timeclock.el (timeclock-completing-read): Fix doc
string punctuation.

5 years agoRemove XEmacs compat code from timeclock.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 21:10:04 +0000 (23:10 +0200)]
Remove XEmacs compat code from timeclock.el

* lisp/calendar/timeclock.el (timeclock-completing-read)
(timeclock-ask-for-project, timeclock-ask-for-reason): Remove
XEmacs compat code.

5 years agoRemove more XEmacs compat code from epa.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 21:02:39 +0000 (23:02 +0200)]
Remove more XEmacs compat code from epa.el

* lisp/epa.el (epa-key-mode, epa-key-list-mode): Remove XEmacs
compat code.

5 years agoRemove XEmacs compat code from calc
Lars Ingebrigtsen [Wed, 19 Jun 2019 20:56:26 +0000 (22:56 +0200)]
Remove XEmacs compat code from calc

* lisp/calc/calc.el (calc-read-key-sequence)
(calcDigit-start, calc-read-key, calc-unread-command)
(calc-clear-unread-commands):
* lisp/calc/calc-misc.el (calc-dispatch-help):
* lisp/calc/calc-help.el (calc-help-for-help)
(calc-describe-key):
* lisp/calc/calc-ext.el (calc-fancy-prefix, calc-user-key-map):
Remove XEmacs compat code.

5 years agoRemove XEmacs compat code from savehist.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 20:37:33 +0000 (22:37 +0200)]
Remove XEmacs compat code from savehist.el

* lisp/savehist.el:
(savehist-install, savehist-uninstall, savehist-save)
(savehist-trim-history, savehist-printable)
(savehist-minibuffer-hook): Remove XEmacs compat code.

5 years agoRemove XEmacs compat code from ps-print
Lars Ingebrigtsen [Wed, 19 Jun 2019 20:30:10 +0000 (22:30 +0200)]
Remove XEmacs compat code from ps-print

* lisp/ps-print.el:
(ps-print-color-p, ps-postscript-code-directory, ps-setup):
* lisp/ps-def.el:
(ps-mark-active-p, ps-face-foreground-name)
(ps-face-background-name, ps-color-device, ps-color-values)
(ps-face-bold-p, ps-face-italic-p, ps-face-strikeout-p)
(ps-face-overline-p, ps-face-box-p)
(ps-generate-postscript-with-faces1): Remove XEmacs compat code
and some outdated Emacs compat code.

5 years agoRemove XEmacs compat code from epa.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 20:24:50 +0000 (22:24 +0200)]
Remove XEmacs compat code from epa.el

* lisp/epa.el (epa-key-list-mode, epa-key-mode)
(epa--find-coding-system-for-mime-charset): Remove XEmacs compat
code and comments.

5 years agoRemove XEmacs compat code from dframe.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 20:07:44 +0000 (22:07 +0200)]
Remove XEmacs compat code from dframe.el

* lisp/dframe.el (dframe-update-speed, dframe-update-keymap)
(dframe-frame-mode, dframe-detach, dframe-set-timer-internal)
(dframe-popup-kludge, dframe-mouse-event-p)
(dframe-track-mouse, dframe-help-echo, dframe-mouse-set-point)
(dframe-double-click, dframe-temp-buffer-show-function)
(dframe-hack-buffer-menu, dframe-mouse-hscroll): Remove XEmacs
compat code (and some ancient Emacs compat code).

5 years agoRemove XEmacs compat code from ansi-color.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 19:56:43 +0000 (21:56 +0200)]
Remove XEmacs compat code from ansi-color.el

* lisp/ansi-color.el (ansi-color-apply-overlay-face)
(ansi-color-make-face, ansi-color-make-extent)
(ansi-color-set-extent-face): Remove XEmacs compat code.

5 years agoUpdate CC Mode's version number to 5.34
Alan Mackenzie [Wed, 19 Jun 2019 19:15:26 +0000 (19:15 +0000)]
Update CC Mode's version number to 5.34

* doc/misc/cc-mode.texi (top level, "Introduction"),
lisp/progmodes/cc-defs.el (c-version): Update version number to 5.34.

5 years agoUpdate documentation of font backends on MS-Windows
Eli Zaretskii [Wed, 19 Jun 2019 16:40:33 +0000 (19:40 +0300)]
Update documentation of font backends on MS-Windows

* doc/emacs/msdos.texi (Windows Fonts): Update the
documentation of requesting specific font backends.

5 years agoFix typo in previous erc.el change
Lars Ingebrigtsen [Wed, 19 Jun 2019 16:29:17 +0000 (18:29 +0200)]
Fix typo in previous erc.el change

* lisp/erc/erc.el (erc-send-input): Fix typo in previous checkin.

5 years agoUse add/remove-hook on erc-pre-send-functions
Lars Ingebrigtsen [Wed, 19 Jun 2019 16:20:22 +0000 (18:20 +0200)]
Use add/remove-hook on erc-pre-send-functions

* lisp/erc/erc-goodies.el (noncommands): Ditto.

* lisp/erc/erc-ring.el (ring): Use add/remove-hook.

5 years agoMove around defgeneric/defmethods in eieio
Lars Ingebrigtsen [Wed, 19 Jun 2019 15:12:29 +0000 (17:12 +0200)]
Move around defgeneric/defmethods in eieio

* lisp/emacs-lisp/eieio.el (object-print):
* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
Move the defgeneric before the defmethod, because that makes more
sense.

5 years agoFix previous change to erc (where commands like /me wouldn't be sent)
Lars Ingebrigtsen [Wed, 19 Jun 2019 15:07:36 +0000 (17:07 +0200)]
Fix previous change to erc (where commands like /me wouldn't be sent)

* lisp/erc/erc-ring.el (erc-add-to-input-ring):
* lisp/erc/erc-goodies.el (erc-send-distinguish-noncommands): Pass
in a erc-input structure instead of a simple string.
* lisp/erc/erc.el (erc-pre-send-functions): Document the new
argument to the filter functions.
(erc-send-input): Use the new structure to allow the filter
functions to alter all three things: The string, whether to insert
the string, and whether to send the string.

5 years agoDon't have erc-goodies and erc-ring register functions multiple times
Lars Ingebrigtsen [Wed, 19 Jun 2019 14:42:02 +0000 (16:42 +0200)]
Don't have erc-goodies and erc-ring register functions multiple times

* lisp/erc/erc-goodies.el (noncommands): Don't register functions
twice.

* lisp/erc/erc-ring.el (ring): Ditto.

5 years ago(with-suppressed-warnings): Make it apply to macro-expansion as well
Stefan Monnier [Wed, 19 Jun 2019 14:47:55 +0000 (10:47 -0400)]
(with-suppressed-warnings): Make it apply to macro-expansion as well

* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Change with-suppressed-warnings so it also affects the macro-expansion of
the body.

5 years agoRename function in completion.el to use completion- prefixes
Lars Ingebrigtsen [Wed, 19 Jun 2019 14:03:57 +0000 (16:03 +0200)]
Rename function in completion.el to use completion- prefixes

* lisp/completion.el (locate-completion-entry)
(completion-locate-entry, locate-completion-entry-retry)
(completion-locate-entry-retry, locate-completion-db-error):
Rename to use a completion- prefix and make the old names obsolete
aliases.
(add-completion-to-head, delete-completion): Use the new function
names.

5 years ago* lisp/textmodes/page-ext.el: Further cleanup
Stefan Monnier [Wed, 19 Jun 2019 13:53:06 +0000 (09:53 -0400)]
* lisp/textmodes/page-ext.el: Further cleanup

(pages--ctl-x-ctl-p-map): Rename from ctl-x-ctl-p-map.
Move initialization into declaration.
(pages-ctl-x-ctl-p-prefix): Rename from ctl-x-ctl-p-prefix.
(sort-subr): Remove redundant autoload.
(pages-set-delimiter): Use explicit `interactively` arg instead of
`called-interactively`.  Use `setq-local`.
(pages-directory-for-addresses): Use `setq-local`.

5 years agoFix compilation warning in pcmpl-gnu.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 13:30:22 +0000 (15:30 +0200)]
Fix compilation warning in pcmpl-gnu.el

* lisp/pcmpl-gnu.el (pcomplete/tar): Remove binding of
pcomplete-suffix-list, because it's not consulted in any of the
functions called here, and has had no effect since 2011.  If we
want to support not inserting a space after the = sign, we have to
implement that, but it's not currently done.

5 years agoRevert "Fix one of the tags/xref warnings in viper-ex.el"
Lars Ingebrigtsen [Wed, 19 Jun 2019 13:21:20 +0000 (15:21 +0200)]
Revert "Fix one of the tags/xref warnings in viper-ex.el"

This reverts commit 4f2f95049738be97df8647705a8fc05a029ed244.

We can't mix calls to find-tag and xref-find-definitions

5 years agoFix up the function/variable names in page-ext.el
Lars Ingebrigtsen [Wed, 19 Jun 2019 13:10:51 +0000 (15:10 +0200)]
Fix up the function/variable names in page-ext.el

* lisp/textmodes/page-ext.el (previous-page)
(search-pages)
(sort-pages-in-region)
(sort-pages-buffer)
(pages-sort-buffer)
(pages-set-delimiter): Rename to have pages- prefixes and make the
previous name into aliases for the new names.
(ctl-x-ctl-p-map): Use the new command names.

5 years agoTouch up the OKURI-NASI progress reporting
Lars Ingebrigtsen [Wed, 19 Jun 2019 12:29:41 +0000 (14:29 +0200)]
Touch up the OKURI-NASI progress reporting

* lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-ari)
(skkdic-convert-postfix, skkdic-convert-prefix)
(skkdic-collect-okuri-nasi): Use INFO progress reporting.
(skkdic-set-okuri-nasi): Use the progress reporter instead of a
per-1000 output.

5 years agoTweak progess reporting in finder-compile-keywords
Lars Ingebrigtsen [Wed, 19 Jun 2019 12:06:29 +0000 (14:06 +0200)]
Tweak progess reporting in finder-compile-keywords

* lisp/finder.el (finder-compile-keywords): Use progress reporter
to report the processing.

5 years agoAllow specifying the expected number of shift/reduce conflicts
Lars Ingebrigtsen [Wed, 19 Jun 2019 11:47:22 +0000 (13:47 +0200)]
Allow specifying the expected number of shift/reduce conflicts

* admin/grammars/grammar.wy: Add %expectedconflicts.

* lisp/cedet/semantic/grammar-wy.el
(semantic-grammar-wy--keyword-table): Ditto.

* lisp/cedet/semantic/grammar.el
(semantic-grammar-expected-conflicts): New function.
(semantic-grammar-insert-defconst-with-eval): New function.
(semantic-grammar-create-package): Output the number of expected
shift/reduce conflicts.

* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts):
Don't output the warning if the number of shift/reduce conflicts
is expected.
(wisent-expected-conflicts): Made obsolete.

5 years agoTweak progress reporting in update-directory-autoloads
Lars Ingebrigtsen [Tue, 18 Jun 2019 14:13:54 +0000 (16:13 +0200)]
Tweak progress reporting in update-directory-autoloads

* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use
progress reporter so say what percentage the progress is at.

5 years agoCompile any subsequence of `cond' clauses to switch (bug#36139)
Mattias Engdegård [Fri, 7 Jun 2019 15:04:10 +0000 (17:04 +0200)]
Compile any subsequence of `cond' clauses to switch (bug#36139)

A single `cond' form can how be compiled to any number of switch ops,
optionally interspersed with non-switch conditions.
Previously, switch ops would only be used for whole `cond' forms
containing no other tests.

* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-vars):
Rename from `byte-compile-cond-vars'.
(byte-compile--default-val): Remove.
(byte-compile--cond-switch-prefix):
Replace `byte-compile-cond-jump-table-info'; now also returns
trailing non-switch clauses.
(byte-compile-cond-jump-table): New arguments; no longer compiles
the default case.
(byte-compile-cond): Look for and compile switches at any place in the
list of clauses.
* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
Add test expression.

5 years agoCompile cond with heterogeneous tests into switch (bug#36139)
Mattias Engdegård [Wed, 22 May 2019 10:36:03 +0000 (12:36 +0200)]
Compile cond with heterogeneous tests into switch (bug#36139)

Allow any mixture of `eq', `eql' and `equal', `memq', `memql' and
`member' in a switch-like `cond' to be compiled into a single switch.

* lisp/emacs-lisp/bytecomp.el (byte-compile--common-test): New.
(byte-compile-cond-jump-table-info): Use most specific common test.
* test/lisp/emacs-lisp/bytecomp-tests.el (byte-opt-testsuite-arith-data):
Add test cases for multi-value clause cond forms.

5 years agoTighter pcase or-pattern member function selection (bug#36139)
Mattias Engdegård [Tue, 21 May 2019 10:19:38 +0000 (12:19 +0200)]
Tighter pcase or-pattern member function selection (bug#36139)

* lisp/emacs-lisp/pcase.el (pcase--u1):
Use the most specific of `memq', `memql' and `member' in or-patterns
with constant cases.  This improves performance and may help the byte-code
compiler generate a switch.
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-member):
Add mixed-type or-pattern test cases.

5 years agoCompile list member functions in cond to switch (bug#36139)
Mattias Engdegård [Tue, 21 May 2019 09:56:14 +0000 (11:56 +0200)]
Compile list member functions in cond to switch (bug#36139)

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
Expand `memq', `memql' and `member' to their corresponding
equality tests.
(byte-compile-cond-jump-table): Cases now have multiple values.
* lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1)
(byte-optimize-lapcode): Don't assume switch hash tables to be injective.

5 years agoFix oversights of "support X core font driver on cairo" change
YAMAMOTO Mitsuharu [Wed, 19 Jun 2019 09:07:00 +0000 (18:07 +0900)]
Fix oversights of "support X core font driver on cairo" change

* src/Makefile.in (FONT_OBJ): Fix comment for USE_CAIRO.
* src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.

5 years ago--with-cairo is no longer experimental
Paul Eggert [Wed, 19 Jun 2019 07:06:39 +0000 (00:06 -0700)]
--with-cairo is no longer experimental

Suggested by YAMAMOTO Mitsuharu in:
https://lists.gnu.org/r/emacs-devel/2019-06/msg00686.html
* configure.ac: Do not say --with-cairo is experimental.
* etc/NEWS: Say that --with-cairo is no longer experimental.

5 years agoDisable lexical-binding in ediff
Glenn Morris [Tue, 18 Jun 2019 22:47:49 +0000 (15:47 -0700)]
Disable lexical-binding in ediff

Since it breaks the thing (bug#36157, bug#36281).
* lisp/vc/ediff-diff.el, lisp/vc/ediff-help.el, lisp/vc/ediff-hook.el:
* lisp/vc/ediff-init.el, lisp/vc/ediff-merg.el, lisp/vc/ediff-mult.el:
* lisp/vc/ediff-ptch.el, lisp/vc/ediff-vers.el, lisp/vc/ediff-wind.el:
* lisp/vc/ediff.el: Set lexical-binding to nil.

5 years agoFix the handling of font backend supersedence on MS-Windows
Eli Zaretskii [Tue, 18 Jun 2019 17:21:40 +0000 (20:21 +0300)]
Fix the handling of font backend supersedence on MS-Windows

* src/w32font.c (syms_of_w32font): Don't make the Uniscribe
font backend "superceded" here, ...
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper):
... make it "superceded" here, only if the HarfBuzz DLL was
successfully loaded.  This is because Emacs compiled with
HarfBuzz support might run on a system without the DLL.
* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
Register the HarfBuzz font backend only if it is available.

5 years agoRevert "Add a mechanism to specify expected shift/reduce .wy conflicts"
Lars Ingebrigtsen [Tue, 18 Jun 2019 14:08:47 +0000 (16:08 +0200)]
Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"

This reverts commit f21ec24524c705e18674a2e9e4db37b11fa3ebab.

*sigh*  Revert again because this created a bootstrap problem in a different part of the process.

5 years agoAdd a mechanism to specify expected shift/reduce .wy conflicts
Lars Ingebrigtsen [Tue, 18 Jun 2019 14:05:08 +0000 (16:05 +0200)]
Add a mechanism to specify expected shift/reduce .wy conflicts

* admin/grammars/python.wy: Set the expected number of
shift/reduce conflicts to four.

* lisp/cedet/semantic/grammar.el
(semantic-grammar-expected-conflicts): New function.

* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
it to suppress warnings about the expected number of shift/reduce
conflicts.

5 years agoRevert "Add a mechanism to specify expected shift/reduce .wy conflicts"
Lars Ingebrigtsen [Tue, 18 Jun 2019 13:59:16 +0000 (15:59 +0200)]
Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"

This reverts commit d715ae8788e16b22f7f68cb82b51a40ad95c78c2.

This commit led to a build error, so revert for now.

5 years agoAdd a mechanism to specify expected shift/reduce .wy conflicts
Lars Ingebrigtsen [Tue, 18 Jun 2019 13:56:18 +0000 (15:56 +0200)]
Add a mechanism to specify expected shift/reduce .wy conflicts

* admin/grammars/python.wy: Set the expected number of
shift/reduce conflicts to four.

* lisp/cedet/semantic/grammar.el
(semantic-grammar-expected-conflicts): New function.
* lisp/cedet/semantic/wisent/comp.el (wisent-total-conflicts): Use
it to suppress warnings about the expected number of shift/reduce
conflicts.

5 years agoRename symbols in ind-util.el to have indian- prefixes
Lars Ingebrigtsen [Tue, 18 Jun 2019 13:35:16 +0000 (15:35 +0200)]
Rename symbols in ind-util.el to have indian- prefixes

* lisp/language/ind-util.el (indian-ucs-to-is13194-regexp)
(indian-ucs-to-iscii-region, indian-iscii-to-ucs-region): Rename
unprefixed function to indian-*.

5 years agoReport progress during custom-make-dependencies instead of file count
Lars Ingebrigtsen [Tue, 18 Jun 2019 13:24:10 +0000 (15:24 +0200)]
Report progress during custom-make-dependencies instead of file count

* lisp/cus-dep.el (custom-make-dependencies): Rewrite to use
reporter to report progress instead of how many files we've
processed.

* lisp/emacs-lisp/byte-run.el (byte-compile-info-string): New function.
(byte-compile-info-message): Use it.

5 years agoMake quail conversion output quieter
Lars Ingebrigtsen [Tue, 18 Jun 2019 10:32:16 +0000 (12:32 +0200)]
Make quail conversion output quieter

* lisp/international/quail.el (quail-update-leim-list-file): Ditto.
* lisp/international/titdic-cnv.el (tit-process-header)
(tit-process-body, miscdic-convert, batch-titdic-convert): Reduce
messaging.

5 years agoFix compilation warning in bookmark.el
Lars Ingebrigtsen [Tue, 18 Jun 2019 10:21:27 +0000 (12:21 +0200)]
Fix compilation warning in bookmark.el

* lisp/bookmark.el (bookmarks-already-loaded): Move obsolete alias
definition to before its referent.

In toplevel form:
bookmark.el:279:1:Warning: Alias for `bookmark-bookmarks-timestamp' should be
    declared before its referent

5 years agoOutput progress reports when scanning for finder/custom
Lars Ingebrigtsen [Tue, 18 Jun 2019 10:19:37 +0000 (12:19 +0200)]
Output progress reports when scanning for finder/custom

* lisp/cus-dep.el (custom-make-dependencies): Ditto.

* lisp/finder.el (finder-compile-keywords): Instead of outputting
the directories being scanned, output progress reports on the
number of files being scanned.  This makes the output more similar
to the autoload scraping.

5 years agoTouch up the byte-compilation messaging in skkdic-set-okuri-nasi
Lars Ingebrigtsen [Tue, 18 Jun 2019 09:50:41 +0000 (11:50 +0200)]
Touch up the byte-compilation messaging in skkdic-set-okuri-nasi

* lisp/international/ja-dic-cnv.el (skkdic-set-okuri-nasi): Use
the "INFO" format for these informational messages, and be more
explicit in saying what they're doing.

5 years agoAdd types to some no-type tokes in js.wy
Lars Ingebrigtsen [Tue, 18 Jun 2019 01:04:00 +0000 (03:04 +0200)]
Add types to some no-type tokes in js.wy

* admin/grammars/js.wy: Add types to the FALSE, TRUE and QUERY tokens.

Without the types, you'd get the warning

*Warning* default value of <<no-type>> tokens changed to QUERY, was NULL_TOKEN
*Warning* default value of <<no-type>> tokens changed to TRUE, was QUERY
*Warning* default value of <<no-type>> tokens changed to FALSE, was TRUE

I think this should be harmless, and it doesn't seem to break handling
.js files.

5 years agoComment out useless nonterminals from python.wy
Lars Ingebrigtsen [Tue, 18 Jun 2019 00:42:44 +0000 (02:42 +0200)]
Comment out useless nonterminals from python.wy

5 years agoRemove nonterminals that semantic claims are useless
Lars Ingebrigtsen [Tue, 18 Jun 2019 00:34:32 +0000 (02:34 +0200)]
Remove nonterminals that semantic claims are useless

* admin/grammars/js.wy (VariableStatement): Remove useless
nonterminals.

Debug output from wisent:

Useless nonterminals:

   StatementList
   BlockExpand

5 years agoSilence spurious load message in latin-ltx.el
Lars Ingebrigtsen [Mon, 17 Jun 2019 23:14:05 +0000 (01:14 +0200)]
Silence spurious load message in latin-ltx.el

* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Silence
the `load' because it's not very informative.

5 years agoTweak implementation of byte-compile-info-message
Lars Ingebrigtsen [Tue, 18 Jun 2019 08:36:06 +0000 (10:36 +0200)]
Tweak implementation of byte-compile-info-message

* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
up implementation.

5 years ago* bookmark.el: Watch bookmark file. Use lexical binding.
Roland Winkler [Tue, 18 Jun 2019 05:59:11 +0000 (00:59 -0500)]
* bookmark.el: Watch bookmark file.  Use lexical binding.

(bookmark-watch-bookmark-file): New user variable.
(bookmark-alist): Fix docstring.
(bookmark-bookmarks-timestamp): Renamed from bookmarks-already-loaded.
(bookmark-maybe-load-default-file, bookmark-save, bookmark-load):
Use bookmark-bookmarks-timestamp.
(bookmark-bmenu-mode-map): Define menu bar menu.
(bookmark-show-annotation, bookmark-show-all-annotations):
Make bookmarks buffer read-only.
(bookmark-bmenu-save): Use call-interactively.

5 years agoSupport font driver supersession
YAMAMOTO Mitsuharu [Tue, 18 Jun 2019 01:19:40 +0000 (10:19 +0900)]
Support font driver supersession

* src/font.c (font_update_drivers): If argument NEW_DRIVERS is t, then don't
use superseded drivers.
(syms_of_font) <Qfont_driver_superseded_by>: New DEFSYM.

* src/ftfont.c (syms_of_ftfont) [HAVE_HARFBUZZ]:
* src/ftcrfont.c (syms_of_ftcrfont) [HAVE_HARFBUZZ]:
* src/w32font.c (syms_of_w32font) [HAVE_HARFBUZZ]:
* src/xftfont.c (syms_of_xftfont) [HAVE_HARFBUZZ]: Make Harfbuzz variants
supersede non-Harfbuzz ones.

* src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Remove font backend
determination code.

5 years agoOutput progress messages when scraping autoloads during bootstrap
Lars Ingebrigtsen [Mon, 17 Jun 2019 23:05:58 +0000 (01:05 +0200)]
Output progress messages when scraping autoloads during bootstrap

* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): New
function to outout informational messages during byte compilation.

* lisp/emacs-lisp/autoload.el (update-directory-autoloads): Use it
to report progress when scraping autoloads during bootstrap (which
may take half a minute).

5 years agoSilence message in latin-ltx about the normal situation
Lars Ingebrigtsen [Mon, 17 Jun 2019 22:56:40 +0000 (00:56 +0200)]
Silence message in latin-ltx about the normal situation

* lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Don't
output the summary message unless there are conflicts.

5 years ago* src/image.c (image_set_rotation): Do negation at compile-time.
Paul Eggert [Mon, 17 Jun 2019 22:46:36 +0000 (15:46 -0700)]
* src/image.c (image_set_rotation): Do negation at compile-time.

5 years agoMove defvars of c-doc-line-join-re + two others from cc-fonts.el to cc-mode.el
Alan Mackenzie [Mon, 17 Jun 2019 20:22:06 +0000 (20:22 +0000)]
Move defvars of c-doc-line-join-re + two others from cc-fonts.el to cc-mode.el

This is because these variables are needed at runtime even when cc-fonts.el
hasn't been loaded, as in XEmacs when font locking hasn't been enabled.

* lisp/progmodes/cc-fonts.el (c-doc-line-join-re)
(c-doc-bright-comment-start-re, c-doc-line-join-end-ch): Move definitions to
cc-mode.el.

5 years agoCompilation work-around for obsolete eieio-object-set-name-string
Lars Ingebrigtsen [Mon, 17 Jun 2019 19:53:22 +0000 (21:53 +0200)]
Compilation work-around for obsolete eieio-object-set-name-string

* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
Move the generic definition of this method to here from eieio.el
and place it after the cl-method definition.  This avoids a
warning about it being obsolete when doing macro expansion.

5 years agoWork around warning from macroexpanding obsolete method
Lars Ingebrigtsen [Mon, 17 Jun 2019 19:40:05 +0000 (21:40 +0200)]
Work around warning from macroexpanding obsolete method

* lisp/emacs-lisp/eieio.el (object-print): Move method definition
to before generic definition because the generic definition
obsoletes the method, which will then output a warning from when
macroexpanding.

5 years agoAvoid a flyspell error if point is at beginning of buffer
Alex Branham [Fri, 14 Jun 2019 18:15:36 +0000 (13:15 -0500)]
Avoid a flyspell error if point is at beginning of buffer

* lisp/textmodes/flyspell.el (flyspell-generic-progmode-verify): Check
if point is at the beginning of the buffer.  This prevents an error
when e.g. 'flyspell-auto-correct-word' gets called with point at the
beginning of the buffer.

Bug#35967

5 years agoDeclare unknown slots to silence the compiler
Lars Ingebrigtsen [Mon, 17 Jun 2019 13:51:43 +0000 (15:51 +0200)]
Declare unknown slots to silence the compiler

* lisp/cedet/ede/config.el (classpath): Declare slot.
(ede-java-classpath): Revert previous hack.

* lisp/cedet/srecode/srt-mode.el (key): Declare slot.
(srecode-macro-help): Revert previous hack.
(srecode-parse-this-macro): Ditto.

5 years agoChange the eieio-declare-slots function into a macro
Lars Ingebrigtsen [Mon, 17 Jun 2019 13:48:39 +0000 (15:48 +0200)]
Change the eieio-declare-slots function into a macro

* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): Change into
a compile-only macro.

5 years agoNew function eieio-declare-slots
Lars Ingebrigtsen [Mon, 17 Jun 2019 13:46:09 +0000 (15:46 +0200)]
New function eieio-declare-slots

* lisp/emacs-lisp/eieio-core.el (eieio-declare-slots): New
function to suppress compiler warnings about unknown slots.

5 years agoFix use of obsolete constructor in semantic/complete.el
Lars Ingebrigtsen [Mon, 17 Jun 2019 11:30:30 +0000 (13:30 +0200)]
Fix use of obsolete constructor in semantic/complete.el

* lisp/cedet/semantic/complete.el (make-instance): Use
make-instance instead of the obsolete constructor method...  which
didn't work, anyway.  The following would bug out

5 years agoFix compilation warning by having ede-target inherit from eieio-named
Lars Ingebrigtsen [Mon, 17 Jun 2019 11:05:34 +0000 (13:05 +0200)]
Fix compilation warning by having ede-target inherit from eieio-named

* lisp/cedet/ede/base.el (ede-target): Inherit from eieio-named so
that if you're customizing objects via eieio-object-value-get, you
can set the name.

* lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Don't
use obsolete function `eieio-object-set-name-string'.

5 years agoRemove the now unneeded c-font-lock-flush from CC Mode.
Alan Mackenzie [Mon, 17 Jun 2019 11:00:55 +0000 (11:00 +0000)]
Remove the now unneeded c-font-lock-flush from CC Mode.

* lisp/progmodes/cc-defs.el (c-font-lock-flush): Delete this macro.

* lisp/progmodes/cc-engine.el (c-propertize-raw-string-opener): Delete the
call to the macro.

5 years agoMake calc-macs.el lexical
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:45:10 +0000 (12:45 +0200)]
Make calc-macs.el lexical

* lisp/calc/calc-macs.el: Enable lexical binding.  This fixes a
build warning in calc.el (which is lexical).

5 years agoSuppress warning in isearchb about iswitchb being obsolete
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:37:02 +0000 (12:37 +0200)]
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.

5 years agoMake do-after-load-evaluation check whether warnings are enabled.
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:36:01 +0000 (12:36 +0200)]
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.

5 years agoSuppress compilation warning in srt-mode
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:22:15 +0000 (12:22 +0200)]
Suppress compilation warning in srt-mode

* lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Check
for the existence of `key' in the macro before using it, and
suppress the warning.

5 years agoSuppress warning about out-of-tree Java class in cedet
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:19:44 +0000 (12:19 +0200)]
Suppress warning about out-of-tree Java class in cedet

* lisp/cedet/ede/config.el (ede-java-classpath): Hack to suppress
a compilation warning in glue code to out-of-tree code.

5 years agoSuppress warning about object-print in eieio.el
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:12:48 +0000 (12:12 +0200)]
Suppress warning about object-print in eieio.el

* lisp/emacs-lisp/eieio.el (obsolete): Suppress warning about
object-print being obsolete, because there are no in-tree
definitions any more.

5 years agoAdd check for enabled warning before issuing
Lars Ingebrigtsen [Mon, 17 Jun 2019 10:09:18 +0000 (12:09 +0200)]
Add check for enabled warning before issuing

* lisp/emacs-lisp/bytecomp.el (byte-compile-function-warn): Check
whether we want the `obsolete' warning before issuing it.

5 years agoSuppress warning about object-print in eieio.el
Lars Ingebrigtsen [Mon, 17 Jun 2019 09:42:03 +0000 (11:42 +0200)]
Suppress warning about object-print in eieio.el

* 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.

5 years agoMake with-suppressed-warnings work in cl-defmethod
Lars Ingebrigtsen [Mon, 17 Jun 2019 09:39:56 +0000 (11:39 +0200)]
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.

5 years agoRewrite object-print methods in cedet to be cl-print-object methods
Lars Ingebrigtsen [Mon, 17 Jun 2019 09:22:21 +0000 (11:22 +0200)]
Rewrite object-print methods in cedet to be cl-print-object methods

* lisp/cedet/semantic/db-el.el (object-print): Ditto.
(object-print): Ditto.

* lisp/cedet/semantic/db-global.el (object-print): Ditto.

* 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.

5 years agoAdd doc strings to the -at-point commands in vc-git
Lars Ingebrigtsen [Mon, 17 Jun 2019 08:35:05 +0000 (10:35 +0200)]
Add doc strings to the -at-point commands in vc-git

* lisp/vc/vc-git.el (vc-git-stash-delete-at-point)
(vc-git-stash-show-at-point, vc-git-stash-apply-at-point)
(vc-git-stash-pop-at-point): Add doc strings to these commands.

5 years ago* find-dired.el (find-dired-refine-function): Fix defcustom.
Roland Winkler [Mon, 17 Jun 2019 04:02:12 +0000 (23:02 -0500)]
* find-dired.el (find-dired-refine-function): Fix defcustom.

5 years agoPrevent the Gnus registry from being loaded twice at startup
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.

5 years agoAvoid rounding error in image rotation
YAMAMOTO Mitsuharu [Mon, 17 Jun 2019 01:43:31 +0000 (10:43 +0900)]
Avoid rounding error in image rotation

* src/image.c (image_set_rotation): Halve translations as double values.

5 years agoTweak compilation mode used by byte-recompile-directory
Glenn Morris [Mon, 17 Jun 2019 00:36:52 +0000 (17:36 -0700)]
Tweak compilation mode used by byte-recompile-directory

* lisp/emacs-lisp/bytecomp.el (emacs-lisp-compilation-mode):
Doc fix.
(byte-recompile-directory): Use emacs-lisp-compilation-mode.

5 years agoDisable filling of warnings in a bytecomp test
Glenn Morris [Mon, 17 Jun 2019 00:35:36 +0000 (17:35 -0700)]
Disable filling of warnings in a bytecomp test

* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression):
Disable filling rather than working around it.

5 years agoTweak how byte-compile-print-syms fills
Glenn Morris [Mon, 17 Jun 2019 00:34:27 +0000 (17:34 -0700)]
Tweak how byte-compile-print-syms fills

* lisp/emacs-lisp/bytecomp.el (byte-compile-print-syms):
Use fill-column from the compile log buffer.

5 years agoDon't hard-code the fill-column for display-warning
Glenn Morris [Mon, 17 Jun 2019 00:31:49 +0000 (17:31 -0700)]
Don't hard-code the fill-column for display-warning

* lisp/emacs-lisp/warnings.el (warning-fill-column): New variable.
(display-warning): Use warning-fill-column.
* doc/lispref/display.texi (Warning Variables):
Mention warning-fill-column.

5 years ago* lisp/emacs-lisp/cl-generic.el (gv-setter): Move declaration.
Stefan Monnier [Sun, 16 Jun 2019 22:35:35 +0000 (18:35 -0400)]
* lisp/emacs-lisp/cl-generic.el (gv-setter): Move declaration.

Move it to those places where we know gv has been loaded.

5 years agoFix up the --no-print-directory changes in src/Makefile.in
Lars Ingebrigtsen [Sun, 16 Jun 2019 22:33:53 +0000 (00:33 +0200)]
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.

5 years ago; Update admin notes re web pages
Glenn Morris [Sun, 16 Jun 2019 22:25:19 +0000 (15:25 -0700)]
; Update admin notes re web pages

5 years agoBump up max_specpdl_size to 1500. (Bug#36216)
Juanma Barranquero [Sun, 16 Jun 2019 21:14:51 +0000 (23:14 +0200)]
Bump up max_specpdl_size to 1500.  (Bug#36216)

* src/eval.c (init_eval_once): Set max_specpdl_size to 1500.
* doc/lispref/variables.texi (Local Variables): Document it.

5 years agoAdd comment to eieio-opt about why we're requiring cl-extra
Lars Ingebrigtsen [Sun, 16 Jun 2019 20:26:34 +0000 (22:26 +0200)]
Add comment to eieio-opt about why we're requiring cl-extra

* lisp/emacs-lisp/eieio-opt.el (cl-extra): Add comment about why
we're not requiring cl-lib.

5 years agoRevert "Simplify image transforms"
Alan Third [Sun, 16 Jun 2019 19:46:31 +0000 (20:46 +0100)]
Revert "Simplify image transforms"

This reverts commit cf3081d208814ea02fce33aac645abfc24f880a6.

; Pushed in error.

5 years agoSimplify image transforms
Alan Third [Sun, 16 Jun 2019 19:10:20 +0000 (20:10 +0100)]
Simplify image transforms

* src/image.c: (image_set_rotation, image_set_size,
image_set_transform): Combine into image_set_transform.
(image_set_crop): Remove function.
(lookup_image): Remove calls to removed functions and remove
transform_matrix.
* test/manual/image-transforms-tests.el (test-cropping): Remove
function.
(test-transforms): Remove reference to test-cropping.

5 years agoDocument image transforms
Alan Third [Tue, 11 Jun 2019 19:31:24 +0000 (20:31 +0100)]
Document image transforms

* doc/lispref/display.texi (Image Descriptors): Document :crop and
update :rotation.
* src/image.c: Describe the image transform matrix layout.
* test/manual/image-transforms-tests.el: New file.

5 years agoFix compilation warning about gv-setter in cl-generic
Lars Ingebrigtsen [Sun, 16 Jun 2019 15:58:31 +0000 (17:58 +0200)]
Fix compilation warning about gv-setter in cl-generic

* lisp/emacs-lisp/cl-generic.el (gv-setter): Declare to avoid a
compilation warning.

5 years agoCC Mode: Remedy recent loss in performance
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.

5 years agoFix compilation warning i eieio-base
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:48:34 +0000 (16:48 +0200)]
Fix compilation warning i eieio-base

* lisp/emacs-lisp/eieio-base.el (clone): Use eieio-object-class
instead of obsolete function class-of.

5 years agoFix compilation warning in ede.el
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:39:28 +0000 (16:39 +0200)]
Fix compilation warning in ede.el

* lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
eieio-named, because we want to set the object name...

* lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
compilation warning about the obsolete
eieio-object-set-name-string function.

5 years agoRevert "Fix compilation warning in ede.el"
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:29:52 +0000 (16:29 +0200)]
Revert "Fix compilation warning in ede.el"

This reverts commit 7bbb56bc430465a6807a8129a322c704c89e3eba.

The commit led to a bootstrap error.

5 years agoFix compilation warning in ede.el
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:23:25 +0000 (16:23 +0200)]
Fix compilation warning in ede.el

* lisp/cedet/ede.el (ede-new): ... which we do here, and fix the
compilation warning about the obsolete
eieio-object-set-name-string function.

* lisp/cedet/ede/auto.el (ede-project-autoload): Inherit from
eieio-named, because we want to set the object name...

5 years agoRemove obsolete name arg from two constructors
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:06:34 +0000 (16:06 +0200)]
Remove obsolete name arg from two constructors

* lisp/cedet/semantic/grammar.el
(semantic-analyze-current-context): Remove obsolete name arg.

* lisp/cedet/srecode/insert.el (srecode--insert-into-buffer): Ditto.

5 years agoCompilation fix for previous change to eieio-opt
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:04:51 +0000 (16:04 +0200)]
Compilation fix for previous change to eieio-opt

* lisp/emacs-lisp/eieio-opt.el (cl-extra): Require for
cl--describe-class.