]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Fri, 7 Jun 2019 19:06:01 +0000 (22:06 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoSupport text shaping with HarfBuzz
Eli Zaretskii [Fri, 7 Jun 2019 19:02:25 +0000 (22:02 +0300)]
Support text shaping with HarfBuzz

The code to support HarfBuzz was written by these individuals:

  Khaled Hosny <dr.khaled.hosny@gmail.com>
  YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
  Eli Zaretskii <eliz@gnu.org>

* src/xftfont.c (xftfont_list): Call ftfont_list2.
(xftfont_match): Call ftfont_match2.
(xftfont_open) [HAVE_HARFBUZZ]: Set the font driver to
xfthbfont_driver as required.  Reset xftfont_info->hb_font to
NULL.
(xftfont_close) [HAVE_HARFBUZZ]: Dispose of the hb_font object.
(xftfont_shape): Accept an additional argument DIRECTION and
pass it to ftfont_shape.
(xfthbfont_list, xfthbfont_match, xfthbfont_begin_hb_font)
(xfthbfont_end_hb_font) [HAVE_HARFBUZZ]: New functions.
(syms_of_xftfont): New DEFSYM 'xfthb'.
(syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Initialize
xfthbfont_driver.

* src/xfns.c (Fx_create_frame, x_create_tip_frame)
[HAVE_HARFBUZZ]: Register the HarfBuzz font driver.

* src/w32uniscribe.c (bswap_32) [HAVE_HARFBUZZ]: Define to use
the builtin for GCC 4.3.9 and newer; else use byteswap.h from
Gnulib.
(struct uniscribe_font_info): New member 'scale'.  The member
'cache' is now used both by Uniscribe and HarfBuzz backends.
(uniscribe_open): Set the font backend as required by the font
entity's font_type field.
(uniscribe_close) [HAVE_HARFBUZZ]: Dispose of the hb_font
object.
(uniscribe_shape): Accept an additional argument DIRECTION.
(w32hb_list, w32hb_match, free_cb, w32hb_get_font_table)
(w32hb_get_font, w32hb_encode_char, w32hb_begin_font)
(w32hb_get_variation_glyphs, load_harfbuzz_funcs)
[HAVE_HARFBUZZ]: New functions.
(syms_of_w32uniscribe_for_pdumper): Initialize
harfbuzz_font_driver if loading the requisite functions from
the HarfBuzz DLL succeeded.

* src/w32font.c (syms_of_w32font): New DEFSYM 'harfbuzz'.

* src/w32fns.c (Fx_create_frame, w32_create_tip_frame):
Determine whether we should register the HarfBuzz backend, or
Uniscribe backend, or both for the new frame.

* src/w32common.h (hbfont_init_w32_funcs) [HAVE_HARFBUZZ]: Add
prototype.

* src/macfont.m (lgstring_direction): New enumeration.
(mac_font_shape_1, mac_screen_font_shape, macfont_shape):
Accept an additional argument DIRECTION; all callers changed.

* src/lisp.h (get_unicode_property): Add prototype.

* src/hbfont.c: New file.

* src/ftxfont.c (ftxfont_list): Call ftfont_list2.
(ftxfont_match): Call ftfont_match2.

* src/ftfont.h [HAVE_HARFBUZZ]: Include hb.h and hb-ft.h.
(struct font_info): New member hb_font.

* src/ftfont.c (ftfont_list2, ftfont_list_family): New functions.
(ftfont_open) [HAVE_HARFBUZZ]: Reset ftfont_info->hb_font to
NULL.  Set the font backend to fthbfont_driver when required.
(ftfont_close) [HAVE_HARFBUZZ]: Dispose of ftfont_info->hb_font.
(ftfont_glyph_metrics): New function.
(ftfont_text_extents): Call ftfont_glyph_metrics instead of
FT_Load_Glyph.
(ftfont_shape): Accept an additional argument DIRECTION.
(ftfont_variation_glyphs) [!HAVE_OTF_GET_VARIATION_GLYPHS]:
Support for variation glyphs without FLT.
(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: New function.
(syms_of_ftfont): New DEFSYM freetypehb.
(syms_of_ftfont_for_pdumper): Initialize fthbfont_driver.

* src/ftcrfont.c (ftcrfont_list): Call ftfont_list2.
(ftcrfont_match): Call ftfont_match2.
(ftcrfont_open) [HAVE_HARFBUZZ]: Set the font backend to
ftcrhbfont_driver as required.  Reset ftcrfont_info->hb_font
to NULL.
(ftcrfont_close) [HAVE_HARFBUZZ]: Discard of
ftcrfont_info->hb_font.
(ftcrfont_shape): Pass DIRECTION to ftfont_shape.
(ftcrhbfont_list, ftcrhbfont_match)
(ftcrhbfont_begin_hb_font, ftcrhbfont_end_hb_font)
[HAVE_HARFBUZZ]: New functions.
(syms_of_ftcrfont): New DEFSYM ftcrhb.
(syms_of_ftcrfont_for_pdumper): Initialize ftcrhbfont_driver.

* src/font.h [HAVE_HARFBUZZ]: Include hb.h.
(struct font_driver): Update comments and function signatures
to reflect the new argument DIRECTION accepted by the 'shape'
method.  New methods 'begin_hb_font' and 'end_hb_font'.
(hbfont_shape, hbfont_combining_capability)
(fthbfont_begin_hb_font) [HAVE_HARFBUZZ]: Add prototypes.

* src/font.c (Ffont_shape_gstring): Accept an additional
argument DIRECTION, and pass it to the font driver's 'shape'
method.
(Ffont_variation_glyphs): Doc fix.
(syms_of_font): New DEFSYMS L2R and R2L.

* src/composite.h (composition_reseat_it): Adjust prototype.

* src/composite.c (autocmp_chars): Accept additional argument
DIRECTION, and pass it to auto-composition-function.  All
callers changed.
(composition_reseat_it): Accept additional argument
BIDI_LEVEL, and use it to determine the DIRECTION argument to
be passed to autocmp_chars.  All callers changed.
(syms_of_composite) <auto-composition-function>: Improve the
doc string; document the meaning of the new argument
DIRECTION.

* src/chartab.c (get_unicode_property): New function,
refactored from the body of get-unicode-property-internal.
(Fget_unicode_property_internal): Call get_unicode_property
after validating the input arguments.

* src/Makefile.in (HARFBUZZ_CFLAGS, HARFBUZZ_LIBS): New macros.
(EMACS_CFLAGS): Use HARFBUZZ_CFLAGS.
(SOME_MACHINE_OBJECTS): Add hbfont.o
(LIBES): Add HARFBUZZ_LIBS.

* lisp/language/tv-util.el (tai-viet-composition-function):
* lisp/language/thai-util.el (thai-composition-function):
* lisp/language/misc-lang.el (arabic-shape-gstring):
* lisp/language/lao-util.el (lao-composition-function):
* lisp/language/japanese.el (compose-gstring-for-variation-glyph):
* lisp/language/hebrew.el (hebrew-shape-gstring):
* lisp/language/ethio-util.el (ethio-composition-function):
* lisp/composite.el (compose-chars-after)
(compose-gstring-for-graphic)
(compose-gstring-for-dotted-circle)
(compose-gstring-for-terminal, auto-compose-chars): All
composition functions that call shapers now accept an
additional argument DIRECTION, either L2R or R2L.

* etc/NEWS: Document the HarfBuzz support.

* etc/HELLO: Add diacritics to Hebrew greetings.

* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/msdos.texi (Windows Fonts): Describe the
'harfbuzz' font backend on MS-Windows and how it is preferred
to 'uniscribe'.

* configure.ac (--wthout-harfbuzz): New option.
(HAVE_HARFBUZZ): New tests.
(FONT_OBJ) [HAVE_HARFBUZZ]: Add hbfont.o
(emacs_config_features): Add HARFBUZZ.

* admin/nt/dist-build/build-dep-zips.py: Add HarfBuzz dependency.

5 years agoMake mouse-wheel-scroll-amount consistent among platforms
Tak Kunihiro [Fri, 7 Jun 2019 18:26:42 +0000 (19:26 +0100)]
Make mouse-wheel-scroll-amount consistent among platforms

* lisp/term/ns-win.el (mouse-wheel-scroll-amount): Do not put any
values on mouse-wheel-scroll-amount on ns.

5 years agoMerge remote-tracking branch 'origin/harfbuzz'
Eli Zaretskii [Fri, 7 Jun 2019 14:52:16 +0000 (17:52 +0300)]
Merge remote-tracking branch 'origin/harfbuzz'

5 years agoMerge from origin/emacs-26
Glenn Morris [Fri, 7 Jun 2019 14:50:49 +0000 (07:50 -0700)]
Merge from origin/emacs-26

9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien...
aecbbd5 * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
8e5fc38 Fix typo
ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36...
f68b33f Fix styling of Unicode codepoints in manuals
ff7ec6f Fix a few uses of quotes in user manual
b67042b More minor copyedits in the Emacs manual
9734b5c Fix minor issues in the Emacs manual
c153250 Try to improve text on atomic windows in Elisp manual
fb314ba Don't recommend insert-before-markers in process filters

5 years ago; Merge from origin/emacs-26
Glenn Morris [Fri, 7 Jun 2019 14:50:49 +0000 (07:50 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

04f13a5 Disable byte-compile-cond-use-jump-table (Bug#35770)

5 years agoMerge from origin/emacs-26
Glenn Morris [Fri, 7 Jun 2019 14:50:48 +0000 (07:50 -0700)]
Merge from origin/emacs-26

2860285 Allow macros autoloaded as functions during bytecomp (Bug#36022)

5 years agoResurrect display-line-number-mode in client frames
Eli Zaretskii [Fri, 7 Jun 2019 14:32:17 +0000 (17:32 +0300)]
Resurrect display-line-number-mode in client frames

* lisp/linum.el (linum-on): Mention bug#35726 in a comment.
* lisp/display-line-numbers.el
(display-line-numbers--turn-on): Don't check for daemon.
(Bug#35726)

5 years ago* src/fns.c (Fmapconcat): Doc fix. (Bug#35710)
Eli Zaretskii [Fri, 7 Jun 2019 12:59:50 +0000 (15:59 +0300)]
* src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)

5 years agoFix typo
Phillip Lord [Fri, 7 Jun 2019 10:37:56 +0000 (11:37 +0100)]
Fix typo

* nt/README.W32:

5 years agoFix failures of term-tests on MS-Widows
Eli Zaretskii [Fri, 7 Jun 2019 09:01:11 +0000 (12:01 +0300)]
Fix failures of term-tests on MS-Widows

* test/lisp/term-tests.el (term-simple-lines)
(term-carriage-return, term-line-wrap, term-cursor-movement)
(term-scrolling-region, term-set-directory)
(term-line-wrapping-then-motion, term-to-margin): Skip tests
on MS-Windows and MS-DOS.

5 years agoConsider line spacing and font height when deriving proc window size
John Shahid [Sat, 27 Apr 2019 16:21:38 +0000 (12:21 -0400)]
Consider line spacing and font height when deriving proc window size

* lisp/window.el (window-adjust-process-window-size): Use
  window-screen-lines instead of window-body-height.
* lisp/term.el (term-mode): Use window-screen-lines to set the initial
  window height.

5 years agoFix image_set_crop yet again
YAMAMOTO Mitsuharu [Fri, 7 Jun 2019 08:43:39 +0000 (17:43 +0900)]
Fix image_set_crop yet again

* src/image.c (image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Don't call
compute_image_size, as it is already called from image_set_size.
(image_set_size, image_set_crop) [HAVE_NATIVE_TRANSFORMS]: Use harmless
matrix transformation code also for USE_CAIRO and HAVE_NTGUI cases,
though image_set_transform is not yet implemented on them.

5 years agoAvoid compiler warning in copy-file-range.c on MS-Windows
Eli Zaretskii [Fri, 7 Jun 2019 08:15:51 +0000 (11:15 +0300)]
Avoid compiler warning in copy-file-range.c on MS-Windows

* nt/mingw-cfg.site (gl_cv_func_copy_file_range): Set to "yes",
to avoid compiling lib/copy-file-range.c on MS-Windows.

5 years agoFix recently-introduced image_set_crop typo
Paul Eggert [Fri, 7 Jun 2019 07:33:47 +0000 (00:33 -0700)]
Fix recently-introduced image_set_crop typo

* src/image.c (image_set_crop) [!HAVE_NATIVE_TRANSFORMS]:
Don’t call compute_image_size, as it does not exist and its
result is not needed.

5 years agoUse copy_file_range to copy files
Paul Eggert [Fri, 7 Jun 2019 04:18:11 +0000 (21:18 -0700)]
Use copy_file_range to copy files

The copy_file_range syscall (introduced in Linux kernel
version 4.5) can copy files more efficiently via server-side
copy etc.
* admin/merge-gnulib (GNULIB_MODULES): Add copy-file-range.
* lib/copy-file-range.c, m4/copy-file-range.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/fileio.c (Fcopy_file): Try copy_file_range first,
falling back on read+write only if copy_file_range failed or
if the input is empty and so could be a /proc file.

5 years agoUpdate from Gnulib
Paul Eggert [Thu, 6 Jun 2019 15:56:03 +0000 (08:56 -0700)]
Update from Gnulib

This incorporates:
2019-06-04 copy-file-range: new module
2019-05-28 binaty-io: O_BINARY on consoles no longer fails
* doc/misc/texinfo.tex, lib/binary-io.c, lib/binary-io.h:
* lib/unistd.in.h, m4/unistd_h.m4: Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.

5 years agoAdd "pin" to password-word-equivalents (Bug#35523)
Noam Postavsky [Sat, 4 May 2019 17:20:42 +0000 (13:20 -0400)]
Add "pin" to password-word-equivalents (Bug#35523)

* lisp/international/mule-conf.el (password-word-equivalents): Add "pin".
* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
test case.

5 years agoFix overflow issues in image rotation
Paul Eggert [Thu, 6 Jun 2019 15:09:58 +0000 (08:09 -0700)]
Fix overflow issues in image rotation

Also, do some refactoring to simplify code.
* src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): Remove.
* src/image.c (matrix3x3): New type, replacing all uses of 3x3 double.
(matrix3x3_copy, matrix3x3_mult): New functions, replacing
COPY_MATRIX, MULT_MATRICES.  Replace INIT_MATRIX by C initializers.
(image_set_rotation): Use Fmod to avoid undefined behavior on
double-to-int conversion and to reduce bignum rotations correctly.
(image_set_crop): Finish up previous correction, by not re-setting
width and height if compute_image_size has set them.
Prefer shifting right by 1 to dividing by 2 if either will do.

5 years agoFix redisplay glitches with RTL composed text
Eli Zaretskii [Thu, 6 Jun 2019 14:12:57 +0000 (17:12 +0300)]
Fix redisplay glitches with RTL composed text

* src/xdisp.c (init_to_row_end): Fail if the first visible
position on the line following ROW is bidi-reordered and could
be composed.  (Bug#35811)

5 years agolisp/gnus/message.el (message--send-mail-maybe-partially): Extract
Oleh Krehel [Thu, 6 Jun 2019 14:08:48 +0000 (16:08 +0200)]
lisp/gnus/message.el (message--send-mail-maybe-partially): Extract

5 years agolisp/gnus/message.el (message--check-continuation-headers): Extract
Oleh Krehel [Thu, 6 Jun 2019 14:01:10 +0000 (16:01 +0200)]
lisp/gnus/message.el (message--check-continuation-headers): Extract

5 years agolisp/gnus/message.el (message--fold-long-headers): Add docstring
Oleh Krehel [Thu, 6 Jun 2019 13:50:46 +0000 (15:50 +0200)]
lisp/gnus/message.el (message--fold-long-headers): Add docstring

5 years ago* lisp/term/w32-win.el ([noname]): Bind to 'ignore'. (Bug#36083)
Eli Zaretskii [Thu, 6 Jun 2019 13:28:04 +0000 (16:28 +0300)]
* lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36083)

5 years agoRestore height and with from that were accidentally removed
Mark A. Hershberger [Thu, 6 Jun 2019 13:07:36 +0000 (09:07 -0400)]
Restore height and with from that were accidentally removed

See 610fb73ab6d7a22b722f523d6ebc4aa8fa1db7c9
USE_CARIO needs these.

5 years agoCheck rcirc-server for auto authentication (Bug#10162)
Steve Scott [Mon, 3 Jun 2019 00:55:34 +0000 (21:55 -0300)]
Check rcirc-server for auto authentication (Bug#10162)

Since the hostname returned by irc.freenode.net can be something other
than irc.freenode.net, e.g. niven.freenode.net, the entries for
rcirc-authinfo and rcirc-server-alist will not match.
* lisp/net/rcirc.el (rcirc-handler-001): Check rcirc-server (the
hostname connected to) instead of rcirc-server-name (the hostname
returned), this corresponds with what rcirc-authenticate does.
Moreover, if rcirc-auto-authenticate-flag is set, check the
corresponding rcirc-authinfo, regardless of whether the
rcirc-authenticate-before-join must happen.

Copyright-paperwork-exempt: yes

5 years agoKeep nxml prolog updated via syntax-propertize
Noam Postavsky [Wed, 5 Jun 2019 23:24:58 +0000 (19:24 -0400)]
Keep nxml prolog updated via syntax-propertize

Instead of using after-change-functions.  Also, stop consulting
nxml-prolog-regions during syntax-propertize.  It turns out the
problems fixed by using prolog information are actually due to using
the wrong syntax table during propertizing.  This was fixed in
2019-06-04 "* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for
syntax-propertize." so consulting the prolog data is no longer needed.
* lisp/nxml/nxml-rap.el (nxml-maybe-rescan-prolog): Remove.
* lisp/nxml/nxml-mode.el (nxml-mode): Stop using it.
(nxml-syntax-propertize): Don't use nxml-prolog-regions, just call
nxml-scan-prolog if needed before delegating to
sgml-syntax-propertize.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-edit-prolog): New test.

5 years agoAdd native image rotation and cropping
Alan Third [Wed, 5 Jun 2019 20:51:33 +0000 (21:51 +0100)]
Add native image rotation and cropping

* lisp/image.el (image--get-imagemagick-and-warn): Only fallback to
ImageMagick if native transforms aren't available.
* src/dispextern.h (INIT_MATRIX, COPY_MATRIX, MULT_MATRICES): New
macros for matrix manipulation.
(HAVE_NATIVE_SCALING, HAVE_NATIVE_TRANSFORMS): Rename and change all
relevant locations.
* src/image.c (x_set_image_rotation):
(x_set_transform): New functions.
(x_set_image_size): Use transform matrix for resizing under X and NS.
(x_set_image_crop): New function.
(lookup_image): Use the new transform functions.
(Fimage_scaling_p, Fimage_transforms_p): Rename and update all
callers.
* src/nsimage.m (ns_load_image): Remove rotation code.
(ns_image_set_transform): New function.
([EmacsImage dealloc]): Release the saved transform.
([EmacsImage rotate:]): Remove unneeded method.
([EmacsImage setTransform:]): New method.
* src/nsterm.h (EmacsImage): Add transform property and update method
definitions.
* src/nsterm.m (ns_dumpglyphs_image): Use the transform to draw the
image correctly.
* src/xterm.c (x_composite_image): Use PictOpSrc as we don't care
about alpha values here.
* doc/lispref/display.texi (Image Descriptors): Add :rotation.
(ImageMagick Images): Remove :rotation.

5 years agoNo longer add debug symbols to release build
Phillip Lord [Thu, 25 Apr 2019 14:26:26 +0000 (15:26 +0100)]
No longer add debug symbols to release build

* admin/nt/dist-build/build-zips.sh: Remove -g3 from release build and
  install with install-strip

5 years ago* lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction
Juri Linkov [Wed, 5 Jun 2019 20:57:07 +0000 (23:57 +0300)]
* lisp/wid-edit.el (widget-choose): Use display-buffer-in-direction

to display buffer in bottom direction with fit-window-to-buffer.

* lisp/proced.el (proced-with-processes-buffer): Idem.  (Bug#35592)

5 years agoFix styling of Unicode codepoints in manuals
Eli Zaretskii [Wed, 5 Jun 2019 16:52:00 +0000 (19:52 +0300)]
Fix styling of Unicode codepoints in manuals

* doc/lispref/nonascii.texi (Character Properties):
* doc/lispref/display.texi (Glyphless Chars)
(Bidirectional Display):
* doc/emacs/search.texi (Lax Search):
* doc/emacs/text.texi (Quotation Marks):
* doc/emacs/basic.texi (Inserting Text): Canonicalize the
style of "U+NNNN CHARACTER NAME".  (Bug#35885)

5 years ago* doc/misc/tramp.texi (Obtaining Tramp): Explain version scheme.
Michael Albinus [Wed, 5 Jun 2019 14:23:03 +0000 (16:23 +0200)]
* doc/misc/tramp.texi (Obtaining Tramp): Explain version scheme.

(Traces and Profiles): Add `tramp-verbose' to @vindex.

5 years ago; Add test for Bug#36092
Noam Postavsky [Wed, 5 Jun 2019 01:08:26 +0000 (21:08 -0400)]
; Add test for Bug#36092

* test/lisp/nxml/nxml-mode-tests.el (nxml-mode->-after-quote): New
test.

5 years agoDo not use syntax-ppss-table in syntax-propertize when nil (Bug#36095)
Dario Gjorgjevski [Wed, 5 Jun 2019 09:07:49 +0000 (11:07 +0200)]
Do not use syntax-ppss-table in syntax-propertize when nil (Bug#36095)

* lisp/emacs-lisp/syntax.el (syntax-propertize): Use (syntax-table)
instead of syntax-ppss-table when the latter is nil.

5 years ago* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for syntax-propertize.
Stefan Monnier [Wed, 5 Jun 2019 01:48:06 +0000 (21:48 -0400)]
* lisp/emacs-lisp/syntax.el: Use syntax-ppss-table for syntax-propertize.

`syntax-ppss` uses `syntax-ppss-table` while parsing the buffer as well
as when it calls `syntax-propertize`, but `syntax-propertize` can also
be called directly rather than via `syntax-ppss` so it needs to explicitly
use `syntax-ppss-table` as well in order to avoid using sometimes one
table and sometimes another.

(syntax-ppss-table): Move before new use.
(syntax-propertize): Use it.

5 years agoRemove retired maintainers from comments
Paul Eggert [Tue, 4 Jun 2019 19:42:17 +0000 (12:42 -0700)]
Remove retired maintainers from comments

* lisp/international/quail.el, lisp/language/ind-util.el:
* lisp/language/indian.el, lisp/mail/smtpmail.el, lisp/mwheel.el:
* lisp/obsolete/longlines.el, lisp/progmodes/idlw-complete-structtag.el:
* lisp/progmodes/idlw-help.el, lisp/progmodes/idlw-shell.el:
* lisp/progmodes/idlw-toolbar.el, lisp/progmodes/idlwave.el:
* lisp/progmodes/simula.el, lisp/ps-print.el, lisp/ps-samp.el:
Remove Maintainer: lines for maintainers who have retired.

5 years ago* lisp/emacs-lisp/thunk.el (thunk-delay): Fix memory leak
Stefan Monnier [Tue, 4 Jun 2019 16:55:53 +0000 (12:55 -0400)]
* lisp/emacs-lisp/thunk.el (thunk-delay): Fix memory leak

Get rid of references to the free variables of `body` once the thunk has
been forced (bug#30626).

5 years ago* sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments
Stefan Monnier [Tue, 4 Jun 2019 16:26:52 +0000 (12:26 -0400)]
* sgml-mode.el (sgml-syntax-propertize-rules): More verbose comments

5 years agoSpecify the matching chars for JSX open/close parenthesis
Jackson Ray Hamilton [Tue, 4 Jun 2019 15:37:36 +0000 (08:37 -0700)]
Specify the matching chars for JSX open/close parenthesis

* lisp/progmodes/js.el (js-jsx--syntax-propertize-tag): Indicate the
matching parenthesis character (since JSX’s < and > aren’t typical
parenthesis) for the sake of packages like rainbow-delimiters which
need that information.

5 years agoRevert "Add extra text property to fix issue with js2-mode integration"
Jackson Ray Hamilton [Tue, 4 Jun 2019 15:23:11 +0000 (08:23 -0700)]
Revert "Add extra text property to fix issue with js2-mode integration"

This reverts commit 382a508ed21e4f12ace9f8871818e25235e8f05e.

We ended up deciding against using this in js2-mode.  Instead,
js2-mode may eventually use js-mode’s syntax-propertize-function to
set syntax-table text properties.

5 years agoUpdate lispref spellfile
Paul Eggert [Tue, 4 Jun 2019 15:31:07 +0000 (08:31 -0700)]
Update lispref spellfile

* doc/lispref/spellfile: Omit words no longer in the manual.
How is this spellfile used?  Does anybody use it any more?

5 years agoAdjust comments/debug to match C bignum code
Paul Eggert [Tue, 4 Jun 2019 15:29:37 +0000 (08:29 -0700)]
Adjust comments/debug to match C bignum code

* doc/lispintro/emacs-lisp-intro.texi (Digression into C):
Adjust to match current C code.
* lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
Simplify.
* src/.gdbinit (Lisp_Object_Printer.to_string): Return
a string that says "make_fixnum", not "make_number".

5 years agoAlways allow at least double-precision bignums
Paul Eggert [Tue, 4 Jun 2019 15:13:20 +0000 (08:13 -0700)]
Always allow at least double-precision bignums

Without this fix, Emacs can get into a tight loop reporting
a range error when calculating timestamps.
* doc/lispref/numbers.texi (Integer Basics):
* src/alloc.c (syms_of_alloc): Document this.
* src/bignum.c (make_bignum_bits): Always allow bignums
of at least twice the width of (u)intmax_t.

5 years agoFix a few uses of quotes in user manual
Eli Zaretskii [Tue, 4 Jun 2019 15:11:37 +0000 (18:11 +0300)]
Fix a few uses of quotes in user manual

* doc/emacs/text.texi (Quotation Marks):
* doc/emacs/display.texi (Text Display):
* doc/emacs/basic.texi (Inserting Text): Fix some more
quotes.  (Bug#35885)

5 years ago* lisp/gnus/message.el (message-send-mail): Tweak last commit
Stefan Monnier [Tue, 4 Jun 2019 13:18:01 +0000 (09:18 -0400)]
* lisp/gnus/message.el (message-send-mail): Tweak last commit

5 years agoKeep nxml-prolog-end up to date (Bug#18871)
Noam Postavsky [Sat, 18 May 2019 18:54:36 +0000 (14:54 -0400)]
Keep nxml-prolog-end up to date (Bug#18871)

The change on 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
removed the update of nxml-prolog-end, although it already failed to
work correctly after 2013-10-07 "* lisp/nxml/nxml-mode.el: Use
lexical-binding and syntax-propertize."
* lisp/nxml/nxml-rap.el: New function.
* lisp/nxml/nxml-mode.el (nxml-mode): Add it to
after-change-functions.

5 years agoDon't sgml-syntax-propertize-inside XML prolog (Bug#32823)
Noam Postavsky [Sat, 18 May 2019 18:37:51 +0000 (14:37 -0400)]
Don't sgml-syntax-propertize-inside XML prolog (Bug#32823)

* lisp/nxml/nxml-mode.el (nxml-syntax-propertize): New function.
(nxml-mode): Use it as the syntax-propertize-function.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-doctype-and-quote-syntax)
(nxml-mode-prolog-comment): New tests.

5 years agoDon't fontify text outside of SGML/XML tags (Bug#33887)
Noam Postavsky [Sun, 26 May 2019 21:41:22 +0000 (17:41 -0400)]
Don't fontify text outside of SGML/XML tags (Bug#33887)

* lisp/textmodes/sgml-mode.el (sgml-font-lock-syntactic-face): New
function.
(sgml-mode):
* lisp/nxml/nxml-mode.el (nxml-mode): Use it as
font-lock-syntactic-face-function value.

5 years agoFix some SGML syntax edge cases (Bug#33887)
Noam Postavsky [Sun, 26 May 2019 15:07:14 +0000 (11:07 -0400)]
Fix some SGML syntax edge cases (Bug#33887)

* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): Handle
single and double quotes symmetrically.  Don't skip quoted comment
enders.
* test/lisp/textmodes/sgml-mode-tests.el (sgml-tests--quotes-syntax):
Add more test cases.
(sgml-mode-quote-in-long-text): New test.

5 years agoStronger check for Tramp method
Michael Albinus [Tue, 4 Jun 2019 10:51:45 +0000 (12:51 +0200)]
Stronger check for Tramp method

* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Use `tramp-get-connection-name'.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Don't check remote TARGET.

* lisp/net/tramp.el (tramp-dissect-file-name): Check for proper method.
(tramp-file-name-for-operation): Take only 2nd argument into
account for file name handler.
(tramp-file-name-handler): Suppress checks for `file-remote-p'.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test02-file-name-dissect): Suppress check for wrong
method.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Dump *all* Tramp buffers.
(tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Check also wrong method.
(tramp-test03-file-name-defaults): Check, that the respective
Tramp package is loaded.
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name)
(tramp-test06-directory-file-name, tramp-test44-auto-load):
Suppress check for wrong method.
(tramp-test30-make-process): Remove instrumentation code.
(tramp-test31-interrupt-process, tramp-test36-vc-registered):
Guarantee that connection is established prior starting process.

5 years ago* src/xterm.c (x_scroll_run) [USE_CAIRO]: Dirty only destination rectangle.
YAMAMOTO Mitsuharu [Tue, 4 Jun 2019 07:19:54 +0000 (16:19 +0900)]
* src/xterm.c (x_scroll_run) [USE_CAIRO]: Dirty only destination rectangle.

5 years ago* src/image.c (cr_create_cr_surface_from_image): Add const to variable `key'.
YAMAMOTO Mitsuharu [Tue, 4 Jun 2019 07:15:35 +0000 (16:15 +0900)]
* src/image.c (cr_create_cr_surface_from_image): Add const to variable `key'.

5 years agoLet untarring (and hence package installation) go faster (Bug#35909)
Noam Postavsky [Sat, 25 May 2019 23:44:41 +0000 (19:44 -0400)]
Let untarring (and hence package installation) go faster (Bug#35909)

* lisp/subr.el (progress-reporter-update)
(progress-reporter-force-update, progress-reporter-do-update): Accept
new optional argument, SUFFIX.
* doc/lispref/display.texi (Progress): Document it.
* etc/NEWS: Announce it.
* lisp/tar-mode.el (tar-untar-buffer): Use a progress reporter instead
of calling message.  Suppress message from write-region.  Let-bind
write-region-inhibit-fsync to t.

5 years agoUpdate dependencies
Phillip Lord [Mon, 3 Jun 2019 21:50:05 +0000 (22:50 +0100)]
Update dependencies

* admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as dependency

5 years agoUser-friendly display of error messages at the end of minibuffer
Juri Linkov [Mon, 3 Jun 2019 20:27:19 +0000 (23:27 +0300)]
User-friendly display of error messages at the end of minibuffer

* lisp/simple.el (minibuffer-setup-hook): Add minibuffer-error-initialize.
(minibuffer-error-initialize, minibuffer-error-function): New functions.
(Bug#34939)

5 years ago* lisp/char-fold.el (char-fold-make-table): New function
Juri Linkov [Mon, 3 Jun 2019 20:18:31 +0000 (23:18 +0300)]
* lisp/char-fold.el (char-fold-make-table): New function

with body extracted from INITVALUE of defconst (bug#35689).
Bind search-spaces-regexp to nil (bug#35802).

* test/lisp/char-fold-tests.el: Relocate helpers to file beginning.
(char-fold--test-bug-35802): New test.

5 years ago* lisp/gnus/gnus-async.el: Use lexical-binding
Stefan Monnier [Mon, 3 Jun 2019 17:44:23 +0000 (13:44 -0400)]
* lisp/gnus/gnus-async.el: Use lexical-binding

Remove redundant :group args.
(gnus-async-post-fetch-function): Make it always be a function.
(gnus-make-async-article-function, gnus-async-prefetch-headers):
Use a closure rather than `(lambda ...)

5 years agoMore minor copyedits in the Emacs manual
Eli Zaretskii [Mon, 3 Jun 2019 16:30:47 +0000 (19:30 +0300)]
More minor copyedits in the Emacs manual

* doc/emacs/basic.texi (Arguments):
* doc/emacs/display.texi (Recentering, Text Display):
* doc/emacs/regs.texi (Text Registers, Rectangle Registers):
* doc/emacs/mark.texi (Disabled Transient Mark): Fix
inaccuracies and typos.  (Bug#35885)

5 years agoFix minor issues in the Emacs manual
Eli Zaretskii [Mon, 3 Jun 2019 16:11:42 +0000 (19:11 +0300)]
Fix minor issues in the Emacs manual

* doc/emacs/search.texi (Regexp Replace, Regexps):
* doc/emacs/kmacro.texi (Keyboard Macro Query)
(Save Keyboard Macro): Fix inaccuracies and typos.
(Bug#35885)

5 years agolisp/gnus/message.el (message-send-mail): Don't wrongly assert on Unicode msg
Oleh Krehel [Mon, 3 Jun 2019 13:48:09 +0000 (15:48 +0200)]
lisp/gnus/message.el (message-send-mail): Don't wrongly assert on Unicode msg

Using this setting:

    (setq message-send-mail-function 'message-send-mail-with-sendmail)
    (setq sendmail-program "msmtp")

the message seding is handled by an external program, so no Unicode
encoding is performed in Emacs. Thus Emacs must not assert that the
Unicode encoding was performed.

5 years agoTry to improve text on atomic windows in Elisp manual
Martin Rudalics [Mon, 3 Jun 2019 08:36:00 +0000 (10:36 +0200)]
Try to improve text on atomic windows in Elisp manual

* doc/lispref/windows.texi (Deleting Windows): Mention how
'delete-window' and 'delete-other-windows' handle atomic
windows.  Minor rewrite.
(Quitting Windows): Mention how 'quit-restore-window' handles
atomic windows and that it tries to avoid raising an error.
(Atomic Windows): Tell how to dissolve atomic windows.

5 years ago* help-fns.el (help-fns--first-release): Do not fail if no release is found.
Juanma Barranquero [Mon, 3 Jun 2019 00:13:57 +0000 (02:13 +0200)]
* help-fns.el (help-fns--first-release): Do not fail if no release is found.

5 years ago* gnus-(sum|async).el: Eliminate assumptions about gnus-data format
Stefan Monnier [Sun, 2 Jun 2019 23:21:45 +0000 (19:21 -0400)]
* gnus-(sum|async).el: Eliminate assumptions about gnus-data format

* lisp/gnus/gnus-async.el (gnus-async-with-semaphore): Use `declare`.
(gnus-async-prefetch-next): Don't assume gnus-data-number == car.

* lisp/gnus/gnus-sum.el (gnus-data-find-in): New function.
(gnus-data-find, gnus-data-find-list): Use it.
(gnus-summary-article-subject): Make it a function.
(gnus--dummy-data-list): New const.
(gnus-update-summary-mark-positions): Use it.

5 years ago* gnus.el: Fix cycle in eager macroexpansion
Stefan Monnier [Sun, 2 Jun 2019 17:04:13 +0000 (13:04 -0400)]
* gnus.el: Fix cycle in eager macroexpansion

* lisp/gnus/gnus-sum.el (gnus-data): Use cl-defstruct.
(gnus-data-set-pos, gnus-data-set-header, gnus-data-set-mark)
(gnus-data-set-number): Delete macros; use `setf` instead.
(gnus-data-unread-p, gnus-data-read-p, gnus-data-pseudo-p, gnus-data-find)
(gnus-summary-skip-intangible, gnus-summary-article-number):
Redefine as inlinable functions rather than macros.

* lisp/gnus/gnus.el: Adjust autoloads for the macros turned functions.

5 years ago* lisp/help-fns.el: Make hyperlink for the "first release" info
Stefan Monnier [Sun, 2 Jun 2019 15:52:41 +0000 (11:52 -0400)]
* lisp/help-fns.el: Make hyperlink for the "first release" info

* lisp/help-fns.el (help-fns--first-release): Return a "button".
(help-fns--mention-first-release): Preserve the string's text-properties.

* lisp/help-mode.el (help-news): New button type.

5 years ago; * src/hbfont.c (hbfont_shape): Fix a typo in a comment.
Eli Zaretskii [Sun, 2 Jun 2019 14:40:18 +0000 (17:40 +0300)]
; * src/hbfont.c (hbfont_shape): Fix a typo in a comment.

5 years agoChange default offset of CC Mode syntactic symbol inlambda to 0
Alan Mackenzie [Sun, 2 Jun 2019 14:05:33 +0000 (14:05 +0000)]
Change default offset of CC Mode syntactic symbol inlambda to 0

It's previous default was c-lineup-inexpr-block.  This change is mainly to
prevent excessive indentation of the innards of C++ lambda functions.

* lisp/progmodes/cc-vars.el (c-offsets-alist): Amend the offset for inlambda
to 0.

* doc/misc/cc-mode.texi (FAQ): Amend the answer to the question about this
matter.

5 years agoImplement the get_variation_glyphs method for FreeType >= 2.3.6
YAMAMOTO Mitsuharu [Sun, 2 Jun 2019 04:33:43 +0000 (13:33 +0900)]
Implement the get_variation_glyphs method for FreeType >= 2.3.6

* configure.ac: Check availability of FT_Face_GetCharVariantIndex.

* src/ftfont.c (ftfont_variation_glyphs) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
Add function implementation.

* src/ftcrfont.c (ftcrfont_variation_glyphs)
[HAVE_FT_FACE_GETCHARVARIANTINDEX]: Use function implementation for
HAVE_OTF_GET_VARIATION_GLYPHS.

* src/ftfont.c (ftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/xftfont.c (xftfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/ftxfont.c (ftxfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
* src/ftcrfont.c (ftcrfont_driver) [HAVE_FT_FACE_GETCHARVARIANTINDEX]:
Populate the get_variation_glyphs method.

5 years agoRevert previous commit
YAMAMOTO Mitsuharu [Sun, 2 Jun 2019 04:30:21 +0000 (13:30 +0900)]
Revert previous commit

This reverts commit 1ab69630dcb8c7a1b1b4171211a7c8ebf11b0d1c.
It has a wrong commit message.

5 years agoMake fthbfont and derivatives use common HarfBuzz code in hbfont.c
YAMAMOTO Mitsuharu [Sun, 2 Jun 2019 04:18:39 +0000 (13:18 +0900)]
Make fthbfont and derivatives use common HarfBuzz code in hbfont.c

* src/font.h (fthbfont_shape, fthbfont_combining_capability)
[HAVE_HARFBUZZ]: Remove prototypes.

* src/ftfont.c: Don't include math.h.
(uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
(fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
[HAVE_HARFBUZZ]: Remove functions.

* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
hbfont_shape and hbfont_combining_capability for fthbfont_shape and
fthbfont_combining_capability, respectively.

5 years agoMake fthbfont and derivatives use common HarfBuzz code in hbfont.c
YAMAMOTO Mitsuharu [Sun, 2 Jun 2019 04:02:09 +0000 (13:02 +0900)]
Make fthbfont and derivatives use common HarfBuzz code in hbfont.c

* src/font.h (fthbfont_shape, fthbfont_combining_capability)
[HAVE_HARFBUZZ]: Remove prototypes.

* src/ftfont.c: Don't include math.h.
(uni_combining, uni_general, uni_mirroring, get_hb_unicode_funcs)
(fthbfont_shape_by_hb, fthbfont_combining_capability, fthbfont_shape)
[HAVE_HARFBUZZ]: Remove functions.

* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: Use
hbfont_shape and hbfont_combining_capability instead of fthbfont_shape
and fthbfont_combining_capability, respectively.

5 years agoSkip some flymake tests on hydra.nixos.org
Glenn Morris [Sun, 2 Jun 2019 02:37:35 +0000 (19:37 -0700)]
Skip some flymake tests on hydra.nixos.org

* test/lisp/progmodes/flymake-tests.el (perl-backend)
(included-c-header-files, recurrent-backend):
Skip on hydra.nixos due to frequent intermittent failures.  (Bug#32764)

5 years agoUse lexical-binding in morse.el and studly.el and add tests
Stefan Kangas [Sun, 2 Jun 2019 01:51:06 +0000 (18:51 -0700)]
Use lexical-binding in morse.el and studly.el and add tests

* lisp/play/morse.el: Use lexical-binding.
* lisp/play/studly.el: Use lexical-binding.
* test/lisp/play/morse-tests.el: New file.
* test/lisp/play/studly-tests.el: New file.

5 years agoUse lexical-binding in paragraphs.el and add tests
Stefan Kangas [Sun, 2 Jun 2019 01:47:14 +0000 (18:47 -0700)]
Use lexical-binding in paragraphs.el and add tests

* lisp/textmodes/paragraphs.el: Use lexical-binding.
(repunctuate-sentences): Make it work non-interactively.
* test/lisp/textmodes/paragraphs-tests.el: New file.

5 years agoFix .gitignore spec for personal customizations
Paul Eggert [Sun, 2 Jun 2019 01:33:55 +0000 (18:33 -0700)]
Fix .gitignore spec for personal customizations

Problem reported by Mauro Aranda (Bug#35945).
* .gitignore: Replace .dir-locals?.el with .dir-locals-2.el.

5 years agoTune cl-assoc
Paul Eggert [Sun, 2 Jun 2019 01:12:31 +0000 (18:12 -0700)]
Tune cl-assoc

* lisp/emacs-lisp/cl-seq.el (cl-assoc): Use assq for fixnums.

5 years agoFix `cl-member' and `cl-assoc' for bignums
Mattias Engdegård [Sun, 2 Jun 2019 00:57:51 +0000 (17:57 -0700)]
Fix `cl-member' and `cl-assoc' for bignums

* lisp/emacs-lisp/cl-seq.el (cl-member, cl-assoc): Work with bignums.
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-bignum-eql): New.

5 years ago; Add NEWS entry for previous change
Noam Postavsky [Mon, 27 May 2019 00:30:09 +0000 (20:30 -0400)]
; Add NEWS entry for previous change

5 years agoMake rcirc PART and QUIT reasons customizable (Bug#12857)
Daniel Ralston [Thu, 13 Dec 2012 15:05:08 +0000 (07:05 -0800)]
Make rcirc PART and QUIT reasons customizable (Bug#12857)

* rcirc.el: (rcirc-default-part-reason, rcirc-default-quit-reason):
New customizable vars.
(rcirc-cmd-quit, rcirc-cmd-part): Consult them.

Copyright-paperwork-exempt: yes

5 years agoHandle argument to rcirc /part properly (Bug#11157)
Noam Postavsky [Mon, 27 May 2019 00:17:38 +0000 (20:17 -0400)]
Handle argument to rcirc /part properly (Bug#11157)

* lisp/net/rcirc.el (part): Split out channel name and part reason.
* doc/misc/rcirc.texi (rcirc commands): Clarify that channel name may
be provided to /part.

5 years ago* lisp/net/rcirc.el: Remove redundant :group usage
Noam Postavsky [Thu, 16 May 2019 11:19:45 +0000 (07:19 -0400)]
* lisp/net/rcirc.el: Remove redundant :group usage

... and empty Todo comment section.

5 years agoDisable byte-compile-cond-use-jump-table (Bug#35770)
Noam Postavsky [Sat, 1 Jun 2019 13:53:35 +0000 (09:53 -0400)]
Disable byte-compile-cond-use-jump-table (Bug#35770)

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
to nil by default.

Don't merge to master, the bug is already fixed there.

5 years agoAllow macros autoloaded as functions during bytecomp (Bug#36022)
Noam Postavsky [Fri, 31 May 2019 12:24:56 +0000 (08:24 -0400)]
Allow macros autoloaded as functions during bytecomp (Bug#36022)

* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
symbols which don't have a known definition to
byte-compile--function-signature, it fails to compile code which
previously compiled successfully (for example, gnus.el until
2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
autoloads some macros as if they were functions).

5 years agoDon't recommend insert-before-markers in process filters
Noam Postavsky [Sat, 1 Jun 2019 16:40:11 +0000 (12:40 -0400)]
Don't recommend insert-before-markers in process filters

See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
Bug#35334.
* doc/lispref/processes.texi (Filter Functions): Go back to using
plain insert in the example filter.  Add note about updating window
point.

5 years ago; Fix stray merge conflict
Glenn Morris [Sat, 1 Jun 2019 21:00:43 +0000 (14:00 -0700)]
; Fix stray merge conflict

5 years agoDebug and disentangle the literal cacheing in CC Mode
Alan Mackenzie [Sat, 1 Jun 2019 20:15:13 +0000 (20:15 +0000)]
Debug and disentangle the literal cacheing in CC Mode

(Final Commit)

* lisp/progmodes/cc-engine.el (c-semi-trim-near-cache): Correct a comparison
with the wrong ...-limit variable.
(c-semi-pp-to-literal): Remove a wrong setting of c-lit-pos-cache-limit.
(c-full-get-near-cache-entry): Eliminate extravagant and unneeded coding.
(c-state-cache-init, c-record-parse-state-state): No longer manipulate
c-lit-pos-cache, which is no longer regarded as part of c-parse-state.

* lisp/progmodes/cc-mode.el (c-basic-common-init): Call
c-truncate-lit-pos-cache to initialize the literal cache.

5 years ago* lisp/progmodes/cc-engine.el: Permute certain literal cacheing functions
Alan Mackenzie [Sat, 1 Jun 2019 20:08:27 +0000 (20:08 +0000)]
* lisp/progmodes/cc-engine.el: Permute certain literal cacheing functions

5 years agoTidy up the literal cacheing in CC Mode, optimizing c-full-pp-to-literal
Alan Mackenzie [Sat, 1 Jun 2019 19:56:07 +0000 (19:56 +0000)]
Tidy up the literal cacheing in CC Mode, optimizing c-full-pp-to-literal

(Intermediate commit)

* lisp/progmodes/cc-engine.el, lisp/progmodes/cc-fonts.el
* lisp/progmodes/cc-mode.el : Rename:
c-state-semi-nonlit-pos-cache -> c-lit-pos-cache,
c-state-semi-nonlit-pos-cache-limit -> c-lit-pos-cache-limit,
c-state-semi-nonlit-near-cache -> c-semi-lit-near-cache,
c-truncate-semi-nonlit-pos-cache -> c-truncate-lit-pos-cache,
c-state-semi-trim-near-cache -> c-semi-trim-near-cache,
c-state-semi-get-near-cache-entry -> c-semi-get-near-cache-entry,
c-state-semi-put-near-cache-entry -> c-semi-put-near-cache-entry,
c-state-semi-pp-to-literal -> c-semi-pp-to-literal,
c-state-full-pp-to-literal -> c-full-pp-to-literal,
c-state-semi-trim-cache -> c-trim-lit-pos-cache.

* lisp/progmodes/cc-engine.el (c-semi-near-cache-limit): New variable.
(c-truncate-lit-pos-cache): This now truncates the cache variables for all
three lit- sub-caches.
(c-semi-put-near-cache-entry): Increase c-semi-near-cache-limit to the
position of the new entry.
(c-full-near-cache-limit, c-full-lit-near-cache): New variables.
(c-full-trim-near-cache, c-full-get-near-cache-entry)
(c-full-put-near-cache-entry): New functions.
(c-full-pp-to-literal): Amend to use the new functions, and to optimize the
use of the available caches, similarly to c-semi-pp-to-literal.

5 years ago; src/w32uniscribe.c: Remove redundant include of math.h.
Eli Zaretskii [Sat, 1 Jun 2019 19:35:06 +0000 (22:35 +0300)]
; src/w32uniscribe.c: Remove redundant include of math.h.

5 years ago; Unmaintain
Glenn Morris [Sat, 1 Jun 2019 19:11:55 +0000 (12:11 -0700)]
; Unmaintain

5 years agoPort hbfont.c to GCC 9 with --enable-gcc-warnings
Paul Eggert [Sat, 1 Jun 2019 19:07:48 +0000 (12:07 -0700)]
Port hbfont.c to GCC 9 with --enable-gcc-warnings

* src/hbfont.c (hbfont_shape): Use ptrdiff_t, not int,
for indexes that in theory might overflow int.
Add UNINIT to pacify GCC 9 and omit an unnecessary initialization.

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:43 +0000 (12:04 -0700)]
Merge from origin/emacs-26

008b263 (origin/emacs-26, emacs-26) * lisp/gnus/gnus.el: Mark autoloa...
daf32f1 Speed up redisplay of HELLO
d8a6d82 Improve documentation of 'safe-local-variable' property

# Conflicts:
# etc/HELLO

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:42 +0000 (12:04 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

b3df372 * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system ...

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:42 +0000 (12:04 -0700)]
Merge from origin/emacs-26

134edc1 Warn about wrong number of args for subrs (Bug#35767)
5f01af6 Use plain symbols for eieio type descriptors (Bug#29220)
4b24b01 Pacify GCC 9 -Wredundant-decls

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:42 +0000 (12:04 -0700)]
; Merge from origin/emacs-26

The following commits were skipped:

7871c3d Pacify librsvg 2.45.1 and later
d93f4bd Simplify xd_signature to pacify GCC 9

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:42 +0000 (12:04 -0700)]
Merge from origin/emacs-26

b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:42 +0000 (12:04 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

fa9e575 Suppress GCC 9 “no longer supported” messages

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:41 +0000 (12:04 -0700)]
Merge from origin/emacs-26

1b2f83b Fix docstring of bookmark-get-bookmark

5 years ago; Merge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:41 +0000 (12:04 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

c4d4dcf Avoid infloop in read-multiple-choice (Bug#32257)

5 years agoMerge from origin/emacs-26
Glenn Morris [Sat, 1 Jun 2019 19:04:41 +0000 (12:04 -0700)]
Merge from origin/emacs-26

2168165 ; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
8f18d12 Improve documentation of decoding into a unibyte buffer
7681a57 Remove redundants "See" before @xref or @pxref (Bug#35793)
9bee762 ; * src/coding.c: Improve commentary.  (Bug#34765)
e61349c Fix customization type of recentf-max-saved-items

# Conflicts:
# src/coding.c