]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoSuppress warning in display-completion-list about itself
Lars Ingebrigtsen [Wed, 12 Jun 2019 14:18:34 +0000 (16:18 +0200)]
Suppress warning in display-completion-list about itself

* lisp/minibuffer.el (display-completion-list):
`display-completion-list' calls itself with the old, obsolete
callargs, so suppress this warning.

5 years agoSuppress interactive-only warnings in epa*.el
Lars Ingebrigtsen [Wed, 12 Jun 2019 14:17:25 +0000 (16:17 +0200)]
Suppress interactive-only warnings in epa*.el

* lisp/epa-mail.el (epa-mail-decrypt, epa-mail-verify)
(epa-mail-sign, epa-mail-encrypt): Ditto.

* lisp/epa.el (epa-verify-cleartext-in-region): Suppress warnings
about calling interactive-only functions, because these are
interactive-only thin wrappers around those functions.

5 years agoehelp.el: Suppress warning
Lars Ingebrigtsen [Wed, 12 Jun 2019 14:15:30 +0000 (16:15 +0200)]
ehelp.el: Suppress warning

* lisp/ehelp.el (electric-help-execute-extended): Suppress warning
about `execute-extended-command' only being interactive, because
we're still using it interactively, but via a wrapper.

5 years agoAdd the new macro with-suppressed-warnings
Lars Ingebrigtsen [Wed, 12 Jun 2019 13:59:19 +0000 (15:59 +0200)]
Add the new macro with-suppressed-warnings

* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): New macro.

* doc/lispref/compile.texi (Compiler Errors): Document
with-suppressed-warnings and deemphasise with-no-warnings
slightly.

* lisp/emacs-lisp/bytecomp.el (byte-compile--suppressed-warnings):
New internal variable.
(byte-compile-warning-enabled-p): Heed
byte-compile--suppressed-warnings, bound via with-suppressed-warnings.
(byte-compile-initial-macro-environment): Provide a macro
expansion of with-suppressed-warnings.
(byte-compile-file-form-with-suppressed-warnings): New byte hunk
handler for the suppressed symbol machinery.
(byte-compile-suppressed-warnings): Ditto for the byteop.
(byte-compile-file-form-defmumble): Ditto.
(byte-compile-form, byte-compile-normal-call)
(byte-compile-normal-call, byte-compile-variable-ref)
(byte-compile-set-default, byte-compile-variable-set)
(byte-compile-function-form, byte-compile-set-default)
(byte-compile-warn-obsolete, byte-compile--declare-var): Pass the
symbol being warned in to byte-compile-warning-enabled-p.

* test/lisp/emacs-lisp/bytecomp-tests.el (test-suppression): New
function.
(bytecomp-test--with-suppressed-warnings): Tests.

5 years agoFix to previous commit
Roland Winkler [Wed, 12 Jun 2019 03:17:30 +0000 (22:17 -0500)]
Fix to previous commit

* find-dired.el (find-dired-sentinel): Check whether
find-dired-refine-function is non-nil.

5 years agoAllow refining the *Find* buffer of find-dired. (Bug#29513)
Roland Winkler [Tue, 11 Jun 2019 21:04:45 +0000 (16:04 -0500)]
Allow refining the *Find* buffer of find-dired. (Bug#29513)

* find-dired.el (find-dired-refine-function): New user variable.
(find-dired-sentinel): Use it.  Simplify.
(find-dired-sort-by-filename): New function.

5 years agoKeep auto-revert-mode working when changing buffer file name (bug#36159)
Mattias Engdegård [Mon, 10 Jun 2019 15:52:50 +0000 (17:52 +0200)]
Keep auto-revert-mode working when changing buffer file name (bug#36159)

* lisp/autorevert.el (after-set-visited-file-name-hook):
Add unconditionally.
(global-auto-revert-mode): Don't use
`after-set-visited-file-name-hook' here.
(auto-revert-set-visited-file-name): Rename from
`auto-revert--global-set-visited-file-name' and generalise.
* test/lisp/autorevert-tests.el (auto-revert-test06-write-file): New.

5 years agoMinor fixes on tramp-tests.el for w32
Michael Albinus [Tue, 11 Jun 2019 18:28:31 +0000 (20:28 +0200)]
Minor fixes on tramp-tests.el for w32

* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Ignore absence of tput.
(tramp-test43-asynchronous-requests): Don't start watchdog on w32.

5 years agoMerge from origin/emacs-26
Glenn Morris [Tue, 11 Jun 2019 15:38:34 +0000 (08:38 -0700)]
Merge from origin/emacs-26

5ca093d (origin/emacs-26) Fix doc of 'display-buffer-in-previous-wind...
add2cac lisp/*.el: Minor docstring fixes

5 years ago; Merge from origin/emacs-26
Glenn Morris [Tue, 11 Jun 2019 15:38:34 +0000 (08:38 -0700)]
; Merge from origin/emacs-26

The following commit was skipped:

fdd1b3e Avoid assertion violation when comparing with main-thread

5 years agoMerge from origin/emacs-26
Glenn Morris [Tue, 11 Jun 2019 15:38:34 +0000 (08:38 -0700)]
Merge from origin/emacs-26

758e9a8 Revert "Don't mark main_thread (Bug#36155)"
1877b7b Don't mark main_thread (Bug#36155)
4904fb3 More quotation fixes (Bug#35885)
4cc4b5d ; * src/keyboard.c (tool_bar_items): Fix a typo.  (Bug#36143)
b58ecaf Minor copyedits in efaq-w32
48422af Tiny improvement of documentation of major mode conventions
25d44d2 * nt/addpm.c (main): Fix buffer overflow

5 years agoFix list-processes typo with thread-name
Pip Cet [Tue, 11 Jun 2019 15:24:55 +0000 (08:24 -0700)]
Fix list-processes typo with thread-name

* lisp/simple.el (list-processes--refresh):
Don’t assume thread-name succeeds (Bug#36163).

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 agoFix doc of 'display-buffer-in-previous-window' (Bug#36161)
Martin Rudalics [Tue, 11 Jun 2019 07:28:29 +0000 (09:28 +0200)]
Fix doc of 'display-buffer-in-previous-window' (Bug#36161)

* doc/lispref/windows.texi (Buffer Display Action Functions):
* lisp/window.el (display-buffer-in-previous-window): Tell
that 'display-buffer-in-previous-window' prefers
non-selected windows (Bug#36161).

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 agolisp/*.el: Minor docstring fixes
Juanma Barranquero [Mon, 10 Jun 2019 21:47:01 +0000 (23:47 +0200)]
lisp/*.el: Minor docstring fixes

* lisp/subr.el (definition-prefixes): Reflow docstring.

* lisp/svg.el (svg-create): Doc fix to allow arg higlighting.
(svg-gradient, svg-rectangle): Improve docstring formatting.

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 agoAvoid assertion violation when comparing with main-thread
Eli Zaretskii [Wed, 17 Oct 2018 15:19:47 +0000 (18:19 +0300)]
Avoid assertion violation when comparing with main-thread

* src/thread.c (unmark_main_thread): New function.
* src/lisp.h (unmark_main_thread): Prototype it.
* src/alloc.c (garbage_collect_1): Call it after sweeping.
(Bug#33073)

* test/src/thread-tests.el (threads-test-bug33073): New test.

5 years agoRevert "Don't mark main_thread (Bug#36155)"
Andreas Schwab [Mon, 10 Jun 2019 10:52:21 +0000 (12:52 +0200)]
Revert "Don't mark main_thread (Bug#36155)"

This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.

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 agoDon't mark main_thread (Bug#36155)
Andreas Schwab [Mon, 10 Jun 2019 10:34:38 +0000 (12:34 +0200)]
Don't mark main_thread (Bug#36155)

* thread.c (mark_threads_callback): Don't mark main_thread.

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 agoMore quotation fixes (Bug#35885)
Eli Zaretskii [Sun, 9 Jun 2019 08:28:36 +0000 (11:28 +0300)]
More quotation fixes (Bug#35885)

* doc/emacs/text.texi (Quotation Marks): Fix a typo.
* doc/emacs/modes.texi (Minor Modes): Fix another case of
showing quotations.

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 ago; * src/keyboard.c (tool_bar_items): Fix a typo. (Bug#36143)
Stefan Kangas [Sun, 9 Jun 2019 03:02:39 +0000 (05:02 +0200)]
; * src/keyboard.c (tool_bar_items): Fix a typo.  (Bug#36143)

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 agoMinor copyedits in efaq-w32
Eli Zaretskii [Sat, 8 Jun 2019 15:48:33 +0000 (18:48 +0300)]
Minor copyedits in efaq-w32

* doc/misc/efaq-w32.texi (Grep, Recursive grep): More accurate
description of using 'findstr' as a poor-man's replacement for
'grep'.  Reported by 范凯 <m_pupil@163.com>

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 agoTiny improvement of documentation of major mode conventions
Eli Zaretskii [Sat, 8 Jun 2019 08:24:47 +0000 (11:24 +0300)]
Tiny improvement of documentation of major mode conventions

* doc/lispref/modes.texi (Major Mode Conventions): More
accurate advice regarding customization of 'C-M-a' by major
modes.

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 ago* nt/addpm.c (main): Fix buffer overflow
Juanma Barranquero [Sat, 8 Jun 2019 07:02:45 +0000 (09:02 +0200)]
* nt/addpm.c (main): Fix buffer overflow

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)