]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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.

5 years agoFix compilation warning in eieio-opt
Lars Ingebrigtsen [Sun, 16 Jun 2019 14:02:42 +0000 (16:02 +0200)]
Fix compilation warning in eieio-opt

* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Don't
use obsolete function eieio-help-class.

5 years agoAvoid "unknown slot" compilation warning in eieio-custom
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:53:03 +0000 (15:53 +0200)]
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).

5 years agoAvoid a compilation warning in srt-mode.el
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:42:30 +0000 (15:42 +0200)]
Avoid a compilation warning in srt-mode.el

* lisp/cedet/srecode/srt-mode.el (srecode-macro-help): Add hack to
avoid compilation warning about slot that has to exist at this
point.

5 years agoFix one of the tags/xref warnings in viper-ex.el
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:21:10 +0000 (15:21 +0200)]
Fix one of the tags/xref warnings in viper-ex.el

* lisp/emulation/viper-ex.el (ex-tag): Avoid a compilation warning
about find-tag-other-window.

5 years agoDeclare function in esh-mode before #'-ing it
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:14:26 +0000 (15:14 +0200)]
Declare function in esh-mode before #'-ing it

* lisp/eshell/esh-mode.el (ansi-color-apply-text-property-face):
Declare to avoid a compilation warning.

5 years agoAvoid obsolete function in reftex-global.el
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:09:52 +0000 (15:09 +0200)]
Avoid obsolete function in reftex-global.el

* lisp/textmodes/reftex-global.el (reftex-query-replace-document):
Rewrite to use fileloop directly to avoid the obsolete function
tags-query-replace.

5 years agoUse fileloop directly in vc-dir to avoid obsolete function
Lars Ingebrigtsen [Sun, 16 Jun 2019 13:07:37 +0000 (15:07 +0200)]
Use fileloop directly in vc-dir to avoid obsolete function

* lisp/vc/vc-dir.el (vc-dir-query-replace-regexp): Rewrite to use
fileloop directly to avoid the obsolete function
tags-query-replace.

5 years agoMaintain c-syntax-table-hwm when changing syntax-table text properties
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.

5 years agoSay how Tramp is packaged with Emacs
Michael Albinus [Sun, 16 Jun 2019 08:32:46 +0000 (10:32 +0200)]
Say how Tramp is packaged with Emacs

* doc/misc/tramp.texi (Obtaining Tramp):
Mention `customize-package-emacs-version-alist'.

5 years agoFix regressions in xref-find-definitions and ...-other-window
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)

5 years agoAdd MESSAGE string to bookmark-errors (bug#23408)
Stefan Kangas [Wed, 12 Jun 2019 16:42:46 +0000 (18:42 +0200)]
Add MESSAGE string to bookmark-errors (bug#23408)

* lisp/bookmark.el (bookmark-errors): Add MESSAGE parameter string.

5 years agoAlways try to display tree-widget with images (Bug#36147)
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.

5 years agoAllow trailing whitespace in --eval argument (Bug#36219)
Noam Postavsky [Sat, 15 Jun 2019 12:40:23 +0000 (08:40 -0400)]
Allow trailing whitespace in --eval argument (Bug#36219)

* lisp/startup.el (command-line-1): Don't complain about trailing
garbage if it's only space, tab, or newline characters.

5 years ago* lisp/net/trampver.el (customize-package-emacs-version-alist):
Michael Albinus [Sat, 15 Jun 2019 19:47:41 +0000 (21:47 +0200)]
* lisp/net/trampver.el (customize-package-emacs-version-alist):

Adapt Tramp version integrated in Emacs 26.3.

5 years ago* src/xfaces.c (dump_realized_face): Fix incorrect format string.
Philipp Stephani [Sat, 15 Jun 2019 17:02:25 +0000 (19:02 +0200)]
* src/xfaces.c (dump_realized_face): Fix incorrect format string.

5 years ago* src/xfaces.c (dump_realized_face): Fix format specifier.
Philipp Stephani [Sat, 15 Jun 2019 16:53:20 +0000 (18:53 +0200)]
* src/xfaces.c (dump_realized_face): Fix format specifier.

5 years ago* src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’
Philipp Stephani [Sat, 15 Jun 2019 16:50:50 +0000 (18:50 +0200)]
* src/nsterm.m (ns_row_rect): Remove unused variable ‘f.’

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 15 Jun 2019 16:50:33 +0000 (09:50 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

200f63c (origin/emacs-26) tramp-test42-auto-load: Add expected-result.

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 15 Jun 2019 16:50:33 +0000 (09:50 -0700)]
Merge from origin/emacs-26

7a8f22b * test/lisp/url/url-file-tests.el (url-file): Use file:///, n...
0c5f6c6 Fix doc of srecompile-compile-split-code (Bug#36200)

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 15 Jun 2019 16:50:33 +0000 (09:50 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

e587338 Make sure Gnus imap group names are decoded before searching
746d42f Remove failing test erroneously added in backport

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 15 Jun 2019 16:50:33 +0000 (09:50 -0700)]
Merge from origin/emacs-26

6242324 * lisp/net/sieve-manage.el (sieve-manage-parse-capability): D...

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 15 Jun 2019 16:50:32 +0000 (09:50 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

9473231 (tag: emacs-26.2.90) ; * lisp/ldefs-boot.el: Update.
fb1c966 Bump Emacs version to 26.2.90
2b705cd * etc/AUTHORS: Update.

5 years agoMerge from origin/emacs-26
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

# Conflicts:
# ChangeLog.3

5 years agoUpdate hash value in pdumper.c
Eli Zaretskii [Sat, 15 Jun 2019 16:45:29 +0000 (19:45 +0300)]
Update hash value in pdumper.c

* src/pdumper.c (dump_fwd_buffer_obj) [CHECK_STRUCTS]: Update
the hash in HASH_Lisp_Buffer_Objfwd.  (Bug#36225)

5 years agoImprove error message when dmpstruct.h needs to be updated
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.

5 years agoProbably fix the `helper' argument in feedmail.el
Lars Ingebrigtsen [Sat, 15 Jun 2019 15:46:23 +0000 (17:46 +0200)]
Probably fix the `helper' argument in feedmail.el

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

5 years agoFix compilation warning in esh-cmd.el
Lars Ingebrigtsen [Sat, 15 Jun 2019 15:42:09 +0000 (17:42 +0200)]
Fix compilation warning in esh-cmd.el

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

5 years agoFix build warning in srecode/srt-mode
Lars Ingebrigtsen [Sat, 15 Jun 2019 15:34:48 +0000 (17:34 +0200)]
Fix build warning in srecode/srt-mode

* lisp/cedet/srecode/srt-mode.el (srecode-inserter-prin-example):
Declare and require before use.

5 years agoSilence warnings about obsolete functions in obsolete/vip.el
Lars Ingebrigtsen [Sat, 15 Jun 2019 15:13:38 +0000 (17:13 +0200)]
Silence warnings about obsolete functions in obsolete/vip.el

* lisp/obsolete/vip.el (ex-tag): Silence warnings about obsolete
functions because this is an obsolete file.