1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00
Commit graph

137018 commits

Author SHA1 Message Date
Lars Ingebrigtsen
e46fc9b017 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).
2019-06-19 22:08:19 +02:00
Lars Ingebrigtsen
613d3848b8 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.
2019-06-19 22:08:19 +02:00
Alan Mackenzie
598d167f40 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.
2019-06-19 19:15:26 +00:00
Eli Zaretskii
a7f71e8dfa Update documentation of font backends on MS-Windows
* doc/emacs/msdos.texi (Windows Fonts): Update the
documentation of requesting specific font backends.
2019-06-19 19:40:33 +03:00
Lars Ingebrigtsen
c6239cc113 Fix typo in previous erc.el change
* lisp/erc/erc.el (erc-send-input): Fix typo in previous checkin.
2019-06-19 18:29:17 +02:00
Lars Ingebrigtsen
7121444100 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.
2019-06-19 18:20:22 +02:00
Lars Ingebrigtsen
fc8a8bdb7f 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.
2019-06-19 17:12:29 +02:00
Lars Ingebrigtsen
3fb6993c8d 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.
2019-06-19 17:07:41 +02:00
Lars Ingebrigtsen
12efa07f95 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.
2019-06-19 17:07:41 +02:00
Stefan Monnier
416b83e907 (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.
2019-06-19 10:47:55 -04:00
Lars Ingebrigtsen
65b2faf6fa 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.
2019-06-19 16:04:02 +02:00
Stefan Monnier
a2dc749897 * 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`.
2019-06-19 09:53:06 -04:00
Lars Ingebrigtsen
1584d4cd95 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.
2019-06-19 15:30:22 +02:00
Lars Ingebrigtsen
d8c6fa84a0 Revert "Fix one of the tags/xref warnings in viper-ex.el"
This reverts commit 4f2f950497.

We can't mix calls to find-tag and xref-find-definitions
2019-06-19 15:21:20 +02:00
Lars Ingebrigtsen
816b91a61a 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.
2019-06-19 15:10:51 +02:00
Lars Ingebrigtsen
7c1cbed1b4 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.
2019-06-19 14:29:41 +02:00
Lars Ingebrigtsen
0837d9a4ea Tweak progess reporting in finder-compile-keywords
* lisp/finder.el (finder-compile-keywords): Use progress reporter
to report the processing.
2019-06-19 14:06:29 +02:00
Lars Ingebrigtsen
390b4bc1e2 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.
2019-06-19 13:48:49 +02:00
Lars Ingebrigtsen
eef48e124d 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.
2019-06-19 13:48:48 +02:00
Mattias Engdegård
d3a7f3e6cd 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.
2019-06-19 11:22:21 +02:00
Mattias Engdegård
14a81524c2 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.
2019-06-19 11:20:59 +02:00
Mattias Engdegård
b8c74742c0 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.
2019-06-19 11:20:58 +02:00
Mattias Engdegård
36ab408207 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.
2019-06-19 11:20:58 +02:00
YAMAMOTO Mitsuharu
2419fa3937 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.
2019-06-19 18:07:00 +09:00
Paul Eggert
50c5d5621c --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.
2019-06-19 00:08:45 -07:00
Glenn Morris
ef23c8be70 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.
2019-06-18 15:47:49 -07:00
Eli Zaretskii
922121e7dd 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.
2019-06-18 20:21:40 +03:00
Lars Ingebrigtsen
4956e7610c Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
This reverts commit f21ec24524.

*sigh*  Revert again because this created a bootstrap problem in a different part of the process.
2019-06-18 16:08:47 +02:00
Lars Ingebrigtsen
f21ec24524 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.
2019-06-18 16:05:08 +02:00
Lars Ingebrigtsen
90b44f336c Revert "Add a mechanism to specify expected shift/reduce .wy conflicts"
This reverts commit d715ae8788.

This commit led to a build error, so revert for now.
2019-06-18 15:59:16 +02:00
Lars Ingebrigtsen
d715ae8788 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.
2019-06-18 15:56:18 +02:00
Lars Ingebrigtsen
e09fcc1ff3 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-*.
2019-06-18 15:35:16 +02:00
Lars Ingebrigtsen
6a02ca0b8c 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.
2019-06-18 15:24:10 +02:00
Lars Ingebrigtsen
29ea0803d7 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.
2019-06-18 12:32:16 +02:00
Lars Ingebrigtsen
e040870e0b 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
2019-06-18 12:21:27 +02:00
Lars Ingebrigtsen
dc9b7b0068 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.
2019-06-18 12:19:37 +02:00
Lars Ingebrigtsen
5da1230f61 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.
2019-06-18 11:50:41 +02:00
Lars Ingebrigtsen
57cf715113 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.
2019-06-18 11:33:40 +02:00
Lars Ingebrigtsen
010db58e03 Comment out useless nonterminals from python.wy 2019-06-18 11:33:40 +02:00
Lars Ingebrigtsen
1b855aa8dd Remove nonterminals that semantic claims are useless
* admin/grammars/js.wy (VariableStatement): Remove useless
nonterminals.

Debug output from wisent:

Useless nonterminals:

   StatementList
   BlockExpand
2019-06-18 11:33:40 +02:00
Lars Ingebrigtsen
b441e8cd7c 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.
2019-06-18 11:33:40 +02:00
Lars Ingebrigtsen
a5269a7fcf Tweak implementation of byte-compile-info-message
* lisp/emacs-lisp/byte-run.el (byte-compile-info-message): Clean
up implementation.
2019-06-18 10:36:14 +02:00
Roland Winkler
0f4d368f35 * 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.
2019-06-18 00:59:11 -05:00
YAMAMOTO Mitsuharu
64767008f7 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.
2019-06-18 10:21:06 +09:00
Lars Ingebrigtsen
56a90c4234 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).
2019-06-18 01:05:58 +02:00
Lars Ingebrigtsen
8b8280ac7f 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.
2019-06-18 00:56:45 +02:00
Paul Eggert
7c8cb70fa3 * src/image.c (image_set_rotation): Do negation at compile-time. 2019-06-17 15:46:54 -07:00
Alan Mackenzie
da6deda8d4 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.
2019-06-17 20:22:06 +00:00
Lars Ingebrigtsen
aed6e2f7c6 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.
2019-06-17 21:53:22 +02:00
Lars Ingebrigtsen
f8efeee0e1 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.
2019-06-17 21:40:12 +02:00