]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoFix shaping of Arabic test when the region is extended
Eli Zaretskii [Tue, 11 Jun 2019 14:45:23 +0000 (17:45 +0300)]
Fix shaping of Arabic test when the region is extended

* src/xdisp.c (compute_stop_pos): Set the limit for searching
for changes in text properties such that the limit is never in
the middle of composable text.  (Bug#28312)

5 years agoAdd missing indentation declaration to a few macros.
Philipp Stephani [Tue, 11 Jun 2019 11:34:14 +0000 (13:34 +0200)]
Add missing indentation declaration to a few macros.

* lisp/window.el (with-temp-buffer-window)
(with-current-buffer-window, with-displayed-buffer-window):
Add missing indentation declaration

5 years agoFix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165)
Pip Cet [Tue, 11 Jun 2019 08:13:36 +0000 (10:13 +0200)]
Fix mouse cursor movement in 'select-frame-set-input-focus' (Bug#36165)

* lisp/frame.el (select-frame-set-input-focus): With
'mouse-autoselect-window' use 'set-mouse-pixel-position' to
avoid selecting another window manager window (Bug#36165).

5 years agoDon't keep warning about unescaped literals (Bug#36068)
Noam Postavsky [Wed, 5 Jun 2019 01:26:06 +0000 (21:26 -0400)]
Don't keep warning about unescaped literals (Bug#36068)

* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Restore lost
let-binding of lread--unescaped-character-literals, so that unescaped
literals warning will only apply to the form just read.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--unescaped-char-literals): Expand test to check that
we don't keep warning about old unescaped literals.

5 years agoMake tramp-test43-asynchronous-requests working, again
Michael Albinus [Mon, 10 Jun 2019 15:53:15 +0000 (17:53 +0200)]
Make tramp-test43-asynchronous-requests working, again

* test/lisp/net/tramp-tests.el (tramp-list-tramp-buffers):
Declare `tramp-list-tramp-buffers'.
(tramp--test-ignore-make-symbolic-link-error)
(tramp--test-ignore-add-name-to-file-error): Improve declaration.
(tramp--test-with-proper-process-name-and-buffer): New macro.
(tramp-test43-asynchronous-requests): Use the macro for timer,
process filter and process sentinel.  Comment the remote file
operation in the timer.  Remove further async events.  Accept
output from all processes.

5 years agoFix quoting problem in Tramp on w32 systems
Michael Albinus [Mon, 10 Jun 2019 15:48:08 +0000 (17:48 +0200)]
Fix quoting problem in Tramp on w32 systems

* lisp/net/tramp-adb.el (tramp-adb-connection-local-default-profile):
* lisp/net/tramp-integration.el (tramp-connection-local-default-profile):
Revert patch from 2019-05-24.  It is fixed differently.

* lisp/net/tramp.el (tramp-encoding-shell):
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive, )
(tramp-unquote-shell-quote-argument): Suppress `shell-file-name'.
(tramp-set-file-uid-gid):
* lisp/net/tramp-sh.el (tramp-find-inline-compress)
(tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
Use `tramp-unquote-shell-quote-argument'.

5 years agoFix copy-paste error in autorevert-test
Mattias Engdegård [Mon, 10 Jun 2019 10:20:13 +0000 (12:20 +0200)]
Fix copy-paste error in autorevert-test

* test/lisp/autorevert-tests.el: Use correct name to define a remote test.

5 years ago* src/editfns.c (Fngettext): Fix typos in docstring.
Juanma Barranquero [Mon, 10 Jun 2019 04:12:37 +0000 (06:12 +0200)]
* src/editfns.c (Fngettext): Fix typos in docstring.

5 years agoAvoid empty menu bar on Xaw with cairo
YAMAMOTO Mitsuharu [Mon, 10 Jun 2019 03:55:37 +0000 (12:55 +0900)]
Avoid empty menu bar on Xaw with cairo

* lwlib/lwlib-utils.c (crxft_font_open_name) [USE_CAIRO]: Return NULL if
font extents are bogus.

5 years agoDocument exporting/printing text with X core fonts to outline images on cairo
YAMAMOTO Mitsuharu [Mon, 10 Jun 2019 01:06:26 +0000 (10:06 +0900)]
Document exporting/printing text with X core fonts to outline images on cairo

* src/xfns.c (Fx_export_frames) [USE_CAIRO]:
(Fx_print_frames_dialog) [USE_CAIRO && USE_GTK]: Add notes on x font backend.

5 years ago; Revert "Publicize behavior of log-view-diff at beginning/end of active region"
Dmitry Gutov [Mon, 10 Jun 2019 00:58:53 +0000 (03:58 +0300)]
; Revert "Publicize behavior of log-view-diff at beginning/end of active region"

This reverts commit 82db17d0d1231c4aa26e837f37428c44a67663ea.

Undo the half-baked implementation of the new feature in Git log
buffers until we can do it better (bug#35624).

5 years agoOmit the misplaced and unnecessary shyness qualifier
Dmitry Gutov [Mon, 10 Jun 2019 00:50:44 +0000 (03:50 +0300)]
Omit the misplaced and unnecessary shyness qualifier

* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
Omit the misplaced and unnecessary shyness qualifier.
Suggested by Mattias Engdegård <mattiase@acm.org>.

5 years agoUnbreak saving xref--original-window, etc
Dmitry Gutov [Mon, 10 Jun 2019 00:10:34 +0000 (03:10 +0300)]
Unbreak saving xref--original-window, etc

* lisp/progmodes/xref.el (xref--show-xref-buffer)
(xref--show-defs-buffer-at-bottom): Move major mode calls earlier.
So that local variable values are not lost.

5 years agoAdd tests for mail/uudecode.el
Stefan Kangas [Mon, 10 Jun 2019 00:05:15 +0000 (17:05 -0700)]
Add tests for mail/uudecode.el

* lisp/mail/uudecode.el: Remove redundant :group usage.
* test/lisp/mail/uudecode-resources/uudecoded.txt,
test/lisp/mail/uudecode-resources/uuencoded.txt,
test/lisp/mail/uudecode-tests.el: New files.

5 years agoFig grammar of count-lines-page
Paul Eggert [Sun, 9 Jun 2019 23:59:43 +0000 (16:59 -0700)]
Fig grammar of count-lines-page

* lisp/textmodes/page.el (count-lines-page):
Say "Page has 1 line", not "Page has 1 lines" (Bug#35981).

5 years agoMake bookmark-old-default-file variable obsolete
Stefan Kangas [Sun, 9 Jun 2019 23:47:16 +0000 (16:47 -0700)]
Make bookmark-old-default-file variable obsolete

* lisp/bookmark.el (bookmark-old-default-file):
Redefine as obsolete variable alias for 'bookmark-default-file'.
(bookmark-maybe-load-default-file): Don't try to rename file
'bookmark-old-default-file' (~/.emacs-bkmrks) to new name (Bug#35940).

5 years agoMake bookmark-maybe-message obsolete (Bug#35918)
Stefan Kangas [Sun, 9 Jun 2019 23:38:31 +0000 (16:38 -0700)]
Make bookmark-maybe-message obsolete (Bug#35918)

* lisp/bookmark.el (bookmark-maybe-message):
Redefine as obsolete function alias for 'message'.
(bookmark-write-file): Use a progress reporter.
(bookmark-load-file): Use a progress reporter.

5 years agoMake `bookmark-file' variable obsolete
Stefan Kangas [Sun, 9 Jun 2019 23:26:55 +0000 (16:26 -0700)]
Make `bookmark-file' variable obsolete

* lisp/bookmark.el (bookmark-file): Redefine as obsolete variable
alias for `bookmark-default-file'.  (Bug#35917)

5 years ago* make-dist: Doc fix for --help re --snapshot (since 201612 change).
Glenn Morris [Sun, 9 Jun 2019 22:55:24 +0000 (15:55 -0700)]
* make-dist: Doc fix for --help re --snapshot (since 201612 change).

5 years agoRemove interactive spec from bookmark-set-internal (bug#36121)
Stefan Kangas [Sun, 9 Jun 2019 17:16:06 +0000 (10:16 -0700)]
Remove interactive spec from bookmark-set-internal (bug#36121)

* lisp/bookmark.el (bookmark-set-internal): Remove interactive spec.

5 years agoPacify compiler in paragraphs.el after lexical-binding
Stefan Kangas [Sun, 9 Jun 2019 17:12:43 +0000 (10:12 -0700)]
Pacify compiler in paragraphs.el after lexical-binding

* lisp/textmodes/paragraphs.el: Pacify byte compiler.

5 years agoUse lexical-binding in password-cache.el and add tests
Stefan Kangas [Sun, 9 Jun 2019 16:18:46 +0000 (09:18 -0700)]
Use lexical-binding in password-cache.el and add tests

* lisp/password-cache.el: Use lexical-binding.
* test/lisp/password-cache-tests.el: New file.

5 years ago* src/fns.c (cmpfn_eql): Simplify.
Paul Eggert [Sun, 9 Jun 2019 16:18:05 +0000 (09:18 -0700)]
* src/fns.c (cmpfn_eql): Simplify.

5 years agoUse lexical binding for ediff
Alex Branham [Thu, 9 May 2019 12:47:26 +0000 (07:47 -0500)]
Use lexical binding for ediff

* 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-vers.el:
* lisp/vc/ediff-wind.el:
* lisp/vc/ediff-mult.el:
* lisp/vc/ediff-ptch.el:
* lisp/vc/ediff.el: Use lexical binding.
(ediff-version): Increase.
(ediff-date): Remove.

5 years agoRename xref--pop-to-location to xref-pop-to-location
Dmitry Gutov [Sun, 9 Jun 2019 14:13:40 +0000 (17:13 +0300)]
Rename xref--pop-to-location to xref-pop-to-location

* lisp/progmodes/xref.el (xref-pop-to-location):
Rename from xref-pop-to-location.  So that third-party
xref-show-definitions-function implementations can use it safely
(bug#36144).  Update all callers.

5 years agoAdd a built-in alternative for xref-show-definitions-function
Dmitry Gutov [Fri, 31 May 2019 15:30:36 +0000 (18:30 +0300)]
Add a built-in alternative for xref-show-definitions-function

* lisp/progmodes/xref.el (xref--transient-buffer-mode-map):
New variable.
(xref--transient-buffer-mode): New major mode.
(xref--button-map): Remove the RET binding (it was unnecessary in
the first place).
(xref--show-common-initialize):
Extract from xref--show-xref-buffer.
(xref--show-defs-buffer-at-bottom): New function.

5 years agoFix TODO to convert defvar with leading '*' to defcustom
Stefan Kangas [Thu, 30 May 2019 11:05:46 +0000 (13:05 +0200)]
Fix TODO to convert defvar with leading '*' to defcustom

* etc/TODO: Remove done TODO to remove '*' from defvar.
* doc/misc/gnus.texi: Remove leading '*' from defvar example.
* lisp/kermit.el (kermit-esc-char): Convert to defcustom.
* lisp/desktop.el (desktop-header):
* lisp/obsolete/cc-compat.el (c-indent-level)
(c-brace-imaginary-offset, c-brace-offset, c-argdecl-indent)
(c-label-offset, c-continued-statement-offset)
(c-continued-brace-offset): Remove leading '*' from docstring.
* lisp/progmodes/dcl-mode.el: Remove leading '*' from docstring in
comment.
* test/manual/cedet/tests/test.el: Add comment asking if example of
defvar with leading '*' should be removed.
(Bug#35994)  (The previous commit is also for the same bug.)

5 years agoFix TODO to remove leading '*' from defcustom
Stefan Kangas [Wed, 29 May 2019 16:49:07 +0000 (18:49 +0200)]
Fix TODO to remove leading '*' from defcustom

* etc/TODO: Remove done TODO to remove leading '*' from defcustom
doc-strings.
* lisp/ibuffer.el (ibuffer-inline-columns): Remove leading '*' from
doc-string.

5 years agoMark define-widget-keywords as obsolete
Stefan Kangas [Wed, 29 May 2019 17:38:27 +0000 (19:38 +0200)]
Mark define-widget-keywords as obsolete

* lisp/widget.el (define-widget-keywords): Mark as obsolete.
(Bug#36065)

5 years agoUse lexical-binding in underline.el and add tests
Stefan Kangas [Wed, 29 May 2019 13:59:21 +0000 (15:59 +0200)]
Use lexical-binding in underline.el and add tests

* lisp/textmodes/underline.el: Use lexical-binding.
* test/lisp/textmodes/underline-tests.el: New file.
(Bug#36063)

5 years agoCheckdoc fixes in lisp/bookmark.el
Stefan Kangas [Sun, 26 May 2019 10:48:26 +0000 (12:48 +0200)]
Checkdoc fixes in lisp/bookmark.el

* lisp/bookmark.el (bookmark-bmenu-inline-header-height)
(bookmark-bmenu-marks-width, bookmark-map, bookmark-quit-flag)
(bookmark-name-from-full-record, bookmark-set-internal)
(bookmark-insert-annotation, bookmark--jump-via)
(bookmark-bmenu-set-header, bookmark-show-annotation)
(bookmark-bmenu-other-window-with-mouse, bookmark-bmenu-relocate):
Checkdoc docstring fixes.  (Bug#35916)

5 years agoFix int overflow bug in ‘equal’
Paul Eggert [Sun, 9 Jun 2019 06:38:18 +0000 (23:38 -0700)]
Fix int overflow bug in ‘equal’

* src/fns.c (internal_equal):
Fix bug when vector lengths exceed INT_MAX.

5 years agoTune base64 decoding
Paul Eggert [Sun, 9 Jun 2019 06:31:28 +0000 (23:31 -0700)]
Tune base64 decoding

This improves performance of base64-decode-region by about 7.5% on
my platform, and gets rid of some macros.
* src/fns.c (IS_ASCII, IS_BASE64, IS_BASE64_IGNORABLE)
(READ_QUADRUPLET_BYTE): Remove.
(base64_value_to_char, base64_char_to_value):
Now an array of two arrays.  All uses changed.
(base64url_value_to_char, base64url_char_to_value):
Remove.  All uses changed to the other array.
(base64_char_to_value): Entries are now of type signed char, not
short, since we can assume C99.  Use C99 initializers; this is
clearer and caters to the (theoretical) possibility of systems
that do not use ASCII or do not have 8-bit bytes.  Allow any index
in the range 0..UCHAR_MAX instead of limiting it to 0..127, so
that uses need not check for in-range indexes.  Also record
padding chars.  All uses changed.
(base64_decode_1): Always store number of chars in *NCHARS_RETURN,
for simplicity.  All callers changed.  Speed up the byte-fetching.

5 years agoFix out-of-source make-dist problems
Paul Eggert [Sat, 8 Jun 2019 21:08:05 +0000 (14:08 -0700)]
Fix out-of-source make-dist problems

Problem with jisx2131-filter reported by Phillip Lord in:
https://lists.gnu.org/r/emacs-devel/2019-06/msg00147.html
* admin/charsets/Makefile.in (SED_SCRIPT):
Put it in $(srcdir), which is not necessarily the working directory.
($(SED_SCRIPT)): Rename from jisx2131-filter.  All uses changed.
(clean): Do not remove SED_SCRIPT.
(extraclean): Remove it here instead.
* make-dist (possibly_non_vc_files): Remove src/emacs-module.h.
Although it is portable and could be distributed in the tarball,
it's too much hassle to do that, so let each builder make it.

5 years ago; Fix recent maintainer header removals
Glenn Morris [Sat, 8 Jun 2019 17:21:16 +0000 (10:21 -0700)]
; Fix recent maintainer header removals

The convention is that no "Maintainer" means "Author" is the maintainer.

5 years ago; * lisp/eshell/esh-util.el (eshell-get-path): Doc fix.
Eli Zaretskii [Sat, 8 Jun 2019 08:32:38 +0000 (11:32 +0300)]
; * lisp/eshell/esh-util.el (eshell-get-path): Doc fix.

5 years agoFix path for current directory in eshell on MS-Windows
Bernhard Rotter [Thu, 30 May 2019 08:13:00 +0000 (10:13 +0200)]
Fix path for current directory in eshell on MS-Windows

On MS-Windows, PATH implicitly includes the current directory.
Do it right for Eshell by adding "./" instead of ".", to
avoid finding .FOO instead of ./FOO.
* lisp/eshell/esh-util.el (eshell-get-path): New function.
* lisp/eshell/em-cmpl.el (eshell-complete-commands-list):
* lisp/eshell/esh-ext.el (eshell-search-path): Use eshell-get-path.

5 years agoMinor fixes for the last commits
Eli Zaretskii [Sat, 8 Jun 2019 08:14:31 +0000 (11:14 +0300)]
Minor fixes for the last commits

* src/fns.c (Fbase64url_encode_region)
(Fbase64url_encode_string, Fbase64_decode_region)
(Fbase64_decode_string): Fix doc strings.
(base64_decode_1): Minor stylistic code changes.

* doc/lispref/text.texi (Base 64): Fix typos and improve
wording of the last committed text.

5 years ago; * etc/NEWS: NEWS entry for the last commit.
Eli Zaretskii [Sat, 8 Jun 2019 07:57:27 +0000 (10:57 +0300)]
; * etc/NEWS: NEWS entry for the last commit.

5 years agoAdd support for base64url variant of base-64 encoding/decoding
Pierre Téchoueyres [Tue, 21 May 2019 21:00:13 +0000 (23:00 +0200)]
Add support for base64url variant of base-64 encoding/decoding

Implement the RFC4648 variant of base64 encoding used by URLs.
* doc/lispref/text.texi (base64url-encode-region,
base64url-encode-string): Document new functions.
(base64-decode-region, base64-decode-string): Document new optional
parameter 'base64url' used to use url variant when decoding data.

* src/fns.c (base64url-encode-region, base64url-encode-region): New
functions to manage url variant.
(base64-decode-region, base64-decode-string): Add optional
parameter to indicate use of url-variant.
(base64_encode_region_1, base64_encode_string_1): Internal functions
with extracted code from 'base64_encode_region' and
'base64_encode_string' and optional parameters to manage padding and
url variant.
(base64-encode-region, base64-encode-string) : Use
base64_encode_region_1 and base64_encode_string_1.
(base64-encode-1): Add parameters to manage padding and url variant.
(base64-decode-1): Add parameter to manage url variant.

* test/src/fns-tests.el (fns-tests--with-region): New helper macro to
test region variant of base64 encode / decode functions.
(fns-tests--string-repeat): Helper function used in base64 tests.
(fns-tests-base64-encode-region, fns-tests-base64-encode-string):
Tests for standard base64 function.
(fns-test-base64url-encode-region,
fns-test-base64url-encode-string): Tests for url variant.
(fns-tests-base64-decode-string): Tests for decoding part.

5 years agoSupport X core font driver on cairo (Bug#28236)
YAMAMOTO Mitsuharu [Sat, 8 Jun 2019 05:05:49 +0000 (14:05 +0900)]
Support X core font driver on cairo (Bug#28236)

* configure.ac (HAVE_X_WINDOWS): Add xfont.o to FONT_OBJ if HAVE_CAIRO.

* doc/lispref/frames.texi (Font and Color Parameters): Mention X core font
driver with Cairo drawing.

* src/font.c (syms_of_font) [HAVE_X_WINDOWS && USE_CAIRO]: Call syms_of_xfont.

* src/xfns.c (x_create_tip_frame) [USE_CAIRO]: Register xfont_driver.

* src/xterm.c (x_cr_gc_clip) [USE_CAIRO]: New function extracted from
x_begin_cr_clip.
(x_begin_cr_clip) [USE_CAIRO]: Use it.
(xlib_surface_key, saved_drawable_key) [USE_CAIRO]: New variables.
(x_cr_destroy_xlib_surface, x_try_cr_xlib_drawable)
(x_end_cr_xlib_drawable) [USE_CAIRO]: New functions.
(x_draw_composite_glyph_string_foreground)
(x_draw_glyph_string_foreground) [USE_CAIRO]: Get Xlib surface when drawing
text with X core fonts into bitmap surfaces.  Add fallback code for drawing
into outline surfaces.

5 years agoImplement native image rotation and cropping on cairo
YAMAMOTO Mitsuharu [Sat, 8 Jun 2019 04:05:15 +0000 (13:05 +0900)]
Implement native image rotation and cropping on cairo

* src/dispextern.h (struct image) [USE_CAIRO]:
* src/image.c (free_image, image_clear_image_1)
(image_set_crop, image_set_size, image_set_rotation)
(image_create_x_image_and_pixmap) [USE_CAIRO]: #ifdef out HAVE_XRENDER part.

* src/image.c (cr_create_surface_from_pix_containers) [USE_CAIRO]: Rename
from cr_create_surface_from_pix_containers.  Change arguments to pair of
Emacs_Pix_Container:s.  Move block_input and unblock_input to caller.
(cr_put_image_to_cr_data) [USE_CAIRO]: New function.
(prepare_image_for_display) [USE_CAIRO]: Use it.
(image_set_transform) [USE_CAIRO]: Create dummy solid color pattern equipped
with transformation matrix and set it to img->cr_data.

* src/xterm.c (fringe_bmp) [USE_CAIRO]: Change type to cairo_pattern_t **.
(x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap) [USE_CAIRO]: Create
or destroy cairo pattern.
(x_cr_draw_image) [USE_CAIRO]: Remove arguments image_width and image_height.
Change type of image to cairo pattern.  All callers changed.

* src/gtkutil.c (xg_get_image_for_pixmap) [USE_CAIRO]: Get cairo surface
from img->cr_data, which is of cairo pattern now.

5 years agoMake icalendar-import-buffer not show diary file buffer
Thomas Fitzsimmons [Sat, 8 Jun 2019 00:43:38 +0000 (20:43 -0400)]
Make icalendar-import-buffer not show diary file buffer

* lisp/calendar/diary-lib.el (diary-make-entry): Add
omit-trailing-space parameter.  Add do-not-show parameter to
allow not showing diary file buffer.
* lisp/calendar/icalendar.el (icalendar--add-diary-entry): Remove
workaround to omit trailing space in diary entry.  Have
diary-make-entry not display the diary file buffer.  (Bug#35645)

5 years agoFix commentary about fixnums and hashes.
Paul Eggert [Fri, 7 Jun 2019 23:39:22 +0000 (16:39 -0700)]
Fix commentary about fixnums and hashes.

5 years agoFix minor ssize_t / ptrdiff_t confusion
Paul Eggert [Fri, 7 Jun 2019 23:39:22 +0000 (16:39 -0700)]
Fix minor ssize_t / ptrdiff_t confusion

* src/fileio.c (Fcopy_file): This limit is because of ssize_t,
so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX.

5 years agoUse machine pointer width for face hashes
Paul Eggert [Fri, 7 Jun 2019 23:39:22 +0000 (16:39 -0700)]
Use machine pointer width for face hashes

* src/dispextern.h (struct face):
* src/xfaces.c (hash_string_case_insensitive, lface_hash)
(cache_face, lookup_face): Use uintptr_t for face hashes
instead of discarding the upper pointer bits on 64-bit machines.

5 years ago* lisp/gnus: Further reduce assumptions about gnus-data format
Stefan Monnier [Fri, 7 Jun 2019 19:28:12 +0000 (15:28 -0400)]
* lisp/gnus: Further reduce assumptions about gnus-data format

* lisp/gnus/gnus-registry.el (gnus-registry-fetch-message-id-fast)
(gnus-registry-fetch-simplified-message-subject-fast)
(gnus-registry-fetch-sender-fast, gnus-registry-fetch-recipients-fast)
(gnus-registry--set/remove-mark): Don't hardcode assoc for gnus-data-find-in.

* lisp/gnus/gnus-sum.el (gnus-data-update-list): Don't hardcode `nth 2`
for gnus-data-pos.
(gnus-summary-insert-old-articles, gnus-summary-insert-new-articles)
(gnus-summary-first-article-p): Don't hardcode `car` for `gnus-data-number`.
(gnus-summary-move-article, gnus-summary-expire-articles)
(gnus-summary-delete-article): Don't hardcode assoc for gnus-data-find-in.

* lisp/gnus/spam.el (spam-fetch-article-header): Don't hardcode `nth 3`
for gnus-data-header.

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.