]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoMore path fixes feature/smaller-windows
Phillip Lord [Wed, 18 Sep 2019 16:58:30 +0000 (17:58 +0100)]
More path fixes

5 years agoPath fixes
Phillip Lord [Wed, 18 Sep 2019 16:51:22 +0000 (17:51 +0100)]
Path fixes

5 years agoLoad src files from local if available
Phillip Lord [Wed, 18 Sep 2019 14:22:41 +0000 (15:22 +0100)]
Load src files from local if available

* admin/nt/dist-build/build-dep-zips.py

5 years agoRemove debug
Phillip Lord [Wed, 18 Sep 2019 13:51:06 +0000 (14:51 +0100)]
Remove debug

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

5 years agoImprove logic for dependencies checking
Phillip Lord [Tue, 4 Jun 2019 14:02:33 +0000 (15:02 +0100)]
Improve logic for dependencies checking

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

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

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

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

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

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

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

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

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

Using this setting:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright-paperwork-exempt: yes

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

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

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

... and empty Todo comment section.

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

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

(Final Commit)

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

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

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

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

(Intermediate commit)

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

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

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

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

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

# Conflicts:
# etc/HELLO

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

The following commit was skipped:

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

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

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

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

The following commits were skipped:

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

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

b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30

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

The following commit was skipped:

fa9e575 Suppress GCC 9 “no longer supported” messages

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

1b2f83b Fix docstring of bookmark-get-bookmark

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

The following commit was skipped:

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

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

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

# Conflicts:
# src/coding.c

5 years ago; Auto-commit of loaddefs files.
Glenn Morris [Sat, 1 Jun 2019 18:57:55 +0000 (11:57 -0700)]
; Auto-commit of loaddefs files.

5 years ago* lisp/gnus/gnus.el: Mark autoloaded macros as such.
Glenn Morris [Sat, 1 Jun 2019 18:33:25 +0000 (11:33 -0700)]
* lisp/gnus/gnus.el: Mark autoloaded macros as such.

This avoids a build failure.

5 years agoSpeed up redisplay of HELLO
Eli Zaretskii [Sat, 1 Jun 2019 15:52:11 +0000 (18:52 +0300)]
Speed up redisplay of HELLO

* etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
locally.  (Bug#36032)

* lisp/files.el: Add 'inhibit-compacting-font-caches' to the
list of built-in variables for which we set up
'safe-local-variable' properties.

5 years agoUse lexical-binding in page.el and add tests
Simen Heggestøyl [Sat, 1 Jun 2019 13:30:49 +0000 (15:30 +0200)]
Use lexical-binding in page.el and add tests

* lisp/textmodes/page.el: Use lexical-binding.
(forward-page): Replace `(if x nil y)' with `(unless x y)'.

* test/lisp/textmodes/page-tests.el: New file with tests for page.el.

5 years agoUse lexical-binding in timezone.el and add tests
Stefan Kangas [Sat, 1 Jun 2019 08:40:57 +0000 (01:40 -0700)]
Use lexical-binding in timezone.el and add tests

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

5 years agoImprove documentation of 'safe-local-variable' property
Eli Zaretskii [Sat, 1 Jun 2019 07:28:30 +0000 (10:28 +0300)]
Improve documentation of 'safe-local-variable' property

* doc/lispref/variables.texi (File Local Variables): Document
how to define 'safe-local-variable' properties for built-in
variables.

5 years agoUse lexical-binding in autoinsert.el and add tests
Simen Heggestøyl [Fri, 31 May 2019 17:06:37 +0000 (19:06 +0200)]
Use lexical-binding in autoinsert.el and add tests

* lisp/autoinsert.el: Use lexical-binding.
Remove redundant :group args.
(auto-insert): Simplify.

* test/lisp/autoinsert-tests.el: New file with tests for
autoinsert.el.

5 years agoUnbreak MinGW64 build with pthreads.h installed
Eli Zaretskii [Fri, 31 May 2019 09:13:56 +0000 (12:13 +0300)]
Unbreak MinGW64 build with pthreads.h installed

* nt/mingw-cfg.site (gl_cv_func_pthread_sigmask_macro): Set to
"no", to avoid compiling Gnulib's pthread_sigmask.c.
Reported by Richard Copley <rcopley@gmail.com>.

5 years ago* lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)
Stefan Monnier [Fri, 31 May 2019 04:54:05 +0000 (00:54 -0400)]
* lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)

`url-insert-file-contents` saves in buffer-file-coding-system
the coding-system used to decode the contents.  Preserve this
as the contents is moved from buffer to string to buffer, and use
it when saving the contents to file, so as to try and better preserve
the original byte sequence.

(package--buffer-string, package--cs): New functions.
(package--check-signature): Encode `string` if a coding-system
was specified in buffer-file-coding-system.
(package--download-one-archive, package-install-from-archive):
Obey and preserve the buffer-file-coding-system if specified.

Do not merge.

5 years agoWarn about wrong number of args for subrs (Bug#35767)
Noam Postavsky [Tue, 28 May 2019 00:36:41 +0000 (20:36 -0400)]
Warn about wrong number of args for subrs (Bug#35767)

* lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
assume byte-compile-fdefinition will return non-nil.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
(bytecomp-warn-wrong-args-subr): New tests.

5 years agoUse plain symbols for eieio type descriptors (Bug#29220)
Noam Postavsky [Mon, 27 May 2019 23:05:56 +0000 (19:05 -0400)]
Use plain symbols for eieio type descriptors (Bug#29220)

Since Emacs 26, eieio objects use a class record (with circular
references) as the type descriptor of the object record.  This causes
problems when reading back an object from a string, because the class
record is not `eq' to the canonical one (which means that read objects
don't satisfy the foo-p predicate).
* lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
the record's type descriptor to a plain symbol for the type descriptor
when eieio-backward-compatibility is non-nil (the default).
* lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
eieio--class-object on the type tag when eieio-backward-compatibility
is non-nil.
(eieio-object-p): Use eieio--object-class instead of
eieio--object-class-tag.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(eieio-test-persist-hash-and-vector)
(eieio-test-persist-interior-lists): Make into functions.
(eieio-persist-hash-and-vector-backward-compatibility)
(eieio-persist-hash-and-vector-no-backward-compatibility)
(eieio-test-persist-interior-lists-backward-compatibility)
(eieio-test-persist-interior-lists-no-backward-compatibility): New
tests which call them, eieio-backward-compatibility let-bound.

5 years agoPacify librsvg 2.45.1 and later
Paul Eggert [Thu, 30 May 2019 22:06:39 +0000 (15:06 -0700)]
Pacify librsvg 2.45.1 and later

* src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
and add a FIXME comment about the deprecated librsvg functions.
Backport from master.

5 years agoPacify GCC when compiling unexelf.c on Fedora 30
Paul Eggert [Thu, 30 May 2019 22:06:39 +0000 (15:06 -0700)]
Pacify GCC when compiling unexelf.c on Fedora 30

* src/unexelf.c (unexec): Pacify GCC 9.

5 years agoSuppress GCC 9 “no longer supported” messages
Paul Eggert [Thu, 30 May 2019 22:06:39 +0000 (15:06 -0700)]
Suppress GCC 9 “no longer supported” messages

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wchkp.
This suppresses a boatload of warnings of the form
“gcc: warning: switch ‘-Wchkp’ is no longer supported”.
when using GCC 9.  Do not merge to master.

5 years agoPacify GCC 9 -Wredundant-decls
Paul Eggert [Thu, 30 May 2019 22:06:39 +0000 (15:06 -0700)]
Pacify GCC 9 -Wredundant-decls

* src/gmalloc.c (_fraghead) [!HYBRID_MALLOC]:
Make it static in this case, too.  This avoids having both
‘extern struct list _fraghead[];’ and
‘static struct list _fraghead[BLOCKLOG];’, which
GCC 9 complains about.

5 years agoSimplify xd_signature to pacify GCC 9
Paul Eggert [Thu, 30 May 2019 22:06:39 +0000 (15:06 -0700)]
Simplify xd_signature to pacify GCC 9

* src/dbusbind.c (xd_signature): Use simpler way to set up
the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
Backport from master.

5 years agoImprove eq1/memql performance
Paul Eggert [Thu, 30 May 2019 21:57:21 +0000 (14:57 -0700)]
Improve eq1/memql performance

* src/fns.c (Fmemql, Feql): Inline to tweak performance.

5 years agoFix `memql' for bignums
Mattias Engdegård [Thu, 30 May 2019 21:34:45 +0000 (14:34 -0700)]
Fix `memql' for bignums

* src/fns.c (Fmemql): Make `memql' work for bignums.
* test/src/fns-tests.el (test-bignum-eql): Also test `memql'.

5 years agoOptimize one of CC Mode's syntax caches for long comments and strings.
Alan Mackenzie [Thu, 30 May 2019 19:37:25 +0000 (19:37 +0000)]
Optimize one of CC Mode's syntax caches for long comments and strings.

* lisp/progmoes/cc-langs.el (c-block-comment-awkward-chars): New lang
constant and variable.

* lisp/progmodes/cc-engine.el (c-state-semi-nonlit-pos-cache): Enhance the
doc comment.
(c-state-semi-get-near-cache-entry, c-state-semi-pp-to-literal): Reuse entry
if the sought position is in a literal, and lies between the literal start and
the entry's position.
(c-cache-to-parse-ps-state, c-parse-ps-state-below): Amend such that instead
of cacheing a state for a position after a backslash or first character of a
2-character comment delimiter, this is done for the previous character
position.

5 years agoFix a void-function error
Dmitry Gutov [Thu, 30 May 2019 17:29:29 +0000 (20:29 +0300)]
Fix a void-function error

* lisp/dired-aux.el (dired-do-find-regexp):
Require 'xref' (bug#35352).

5 years agoRename xref-refresh-results to xref-revert-buffer
Dmitry Gutov [Thu, 30 May 2019 17:09:35 +0000 (20:09 +0300)]
Rename xref-refresh-results to xref-revert-buffer

* lisp/progmodes/xref.el (xref-revert-buffer): Rename from
'xref-refresh-results' (https://debbugs.gnu.org/35737#40).

5 years agoNew command ruby-find-library-file
Dmitry Gutov [Thu, 30 May 2019 16:41:16 +0000 (19:41 +0300)]
New command ruby-find-library-file

* lisp/progmodes/ruby-mode.el (ruby-find-library-file):
New command.
(ruby-mode-map): Add binding for it.

5 years ago; Remove unused piece of code and update a docstring
Dmitry Gutov [Mon, 27 May 2019 22:09:17 +0000 (01:09 +0300)]
; Remove unused piece of code and update a docstring

5 years agoFix docstring of bookmark-get-bookmark
Stefan Kangas [Sun, 26 May 2019 10:04:56 +0000 (12:04 +0200)]
Fix docstring of bookmark-get-bookmark

* lisp/bookmark.el (bookmark-get-bookmark): Document optional
argument NOERROR. (bug#20148)

5 years agoAdd stipple support on cairo
YAMAMOTO Mitsuharu [Thu, 30 May 2019 08:16:41 +0000 (17:16 +0900)]
Add stipple support on cairo

* src/xterm.h (struct x_bitmap_record) [USE_CAIRO]: Remove unused member img.
Add member stipple.
(x_bitmap_stipple) [USE_CAIRO]: Add extern.

* src/image.c (x_bitmap_stipple) [HAVE_X_WINDOWS && USE_CAIRO]: New function.
(image_create_bitmap_from_data, image_create_bitmap_from_file)
(x_create_bitmap_from_xpm_data) [HAVE_X_WINDOWS && USE_CAIRO]: Initialize
stipple member of struct x_bitmap_record.
(free_bitmap_record) [HAVE_X_WINDOWS && USE_CAIRO]: Destroy stipple member.

* src/xterm.c (x_fill_rectangle) [USE_CAIRO]: Inspect gc and draw stipple if
necessary.  Use x_bitmap_stipple.

5 years agoSimplify Gnus buffer liveness checking and killing
Basil L. Contovounesios [Sun, 5 May 2019 00:28:57 +0000 (01:28 +0100)]
Simplify Gnus buffer liveness checking and killing

* lisp/gnus/gnus-agent.el (gnus-agent-synchronize-group-flags):
Fix indentation.
* lisp/gnus/gnus-util.el (gnus-buffer-exists-p): Define as obsolete
alias of gnus-buffer-live-p.
(gnus-buffer-live-p): If the given argument is or names a live
buffer, return the corresponding buffer object instead of a boolean.
* lisp/gnus/gnus-win.el (gnus-delete-windows-in-gnusey-frames)
(gnus-remove-some-windows): Simplify.
* lisp/gnus/gnus.el (gnus-prune-buffers): Redefine as alias of
gnus-buffers.
(gnus-kill-buffer, gnus-buffers, gnus-group-find-parameter):
* lisp/gnus/gnus-art.el (gnus-kill-sticky-article-buffers)
(gnus-request-article-this-buffer):
* lisp/gnus/gnus-bcklg.el (gnus-backlog-shutdown):
* lisp/gnus/gnus-cus.el (gnus-group-customize)
(gnus-agent-customize-category):
* lisp/gnus/gnus-draft.el (gnus-draft-edit-message):
* lisp/gnus/gnus-group.el (gnus-group-set-mode-line)
(gnus--abort-on-unsaved-message-buffers, gnus-group-compact-group):
* lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions)
(gnus-summary-supersede-article, gnus-copy-article-buffer):
* lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
(gnus-score-edit-file):
* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
* lisp/gnus/gnus-srvr.el (gnus-server-compact-server):
* lisp/gnus/gnus-start.el (gnus-clear-system, gnus-dribble-enter)
(gnus-dribble-save, gnus-dribble-clear, gnus-save-newsrc-file):
* lisp/gnus/gnus-sum.el (gnus-summary-setup-buffer)
(gnus-update-summary-mark-positions, gnus-summary-exit)
(gnus-deaden-summary, gnus-kill-or-deaden-summary)
(gnus-summary-next-group):
* lisp/gnus/gnus-win.el (gnus-configure-frame):
* lisp/gnus/mail-source.el (mail-source-movemail):
* lisp/gnus/message.el (message-with-reply-buffer)
(message-with-reply, message-send-and-exit)
(message-send-mail-with-sendmail, message-pop-to-buffer)
(message-do-send-housekeeping, message-forward-make-body-plain)
(message-forward-make-body-mml):
* lisp/gnus/mm-decode.el (mm-display-external, mm-remove-part):
* lisp/gnus/nnbabyl.el (nnbabyl-server-opened)
(nnbabyl-possibly-change-newsgroup, nnbabyl-read-mbox)
(nnbabyl-check-mbox):
* lisp/gnus/nndiary.el (nndiary-save-nov):
* lisp/gnus/nndoc.el (nndoc-close-group)
(nndoc-possibly-change-buffer):
* lisp/gnus/nnfolder.el (nnfolder-close-group, nnfolder-save-nov):
* lisp/gnus/nnimap.el (nnimap-make-process-buffer, nnimap-keepalive)
(nnimap-find-connection):
* lisp/gnus/nnmail.el (nnmail-cache-open, nnmail-cache-close):
* lisp/gnus/nnmbox.el (nnmbox-close-server, nnmbox-server-opened)
(nnmbox-possibly-change-newsgroup, nnmbox-read-mbox):
* lisp/gnus/nnml.el (nnml-save-incremental-nov, nnml-open-nov)
(nnml-save-nov):
* lisp/gnus/nnoo.el (nnoo-server-opened):
* lisp/gnus/nntp.el (nntp-kill-buffer, nntp-make-process-buffer)
(nntp-open-connection, nntp-async-trigger):
* lisp/net/mairix.el (mairix-gnus-fetch-field): Simplify buffer
liveness checking and killing, replacing buffer-name with
buffer-live-p and gnus-buffer-exists-p with gnus-buffer-live-p or
equivalent where applicable.

5 years agoFix breakage of native image scaling on XRENDER by previous change
YAMAMOTO Mitsuharu [Thu, 30 May 2019 01:05:27 +0000 (10:05 +0900)]
Fix breakage of native image scaling on XRENDER by previous change

* src/image.c (image_create_x_image_and_pixmap_1) [HAVE_XRENDER]: Get depth if
it is unspecified.

5 years agoUpdate from Gnulib
Paul Eggert [Wed, 29 May 2019 23:33:51 +0000 (16:33 -0700)]
Update from Gnulib

This incorporates:
2019-05-24 flexmember: update comments
2019-05-18 pthread_sigmask: fix --enable-threads=windows compilation
2019-05-14 close-stream, closein, closeout: simplify
2019-05-09 verify: remove verify_true
2019-05-09 verify: support C2X and C++17 static_assert
* build-aux/config.guess, build-aux/config.sub:
* doc/misc/texinfo.tex, lib/flexmember.h, lib/verify.h:
* m4/flexmember.m4, m4/pthread_sigmask.m4:
Copy from Gnulib
* m4/gnulib-comp.m4: Regenerate.

2019-05-26  Paul Eggert  <eggert@cs.ucla.edu>

Update author/maintainer info
This mostly updates email addresses and fixes spellings of
author and maintainer names.

5 years ago* lisp/subr.el (add-hook): Turn `append` into `depth` (bug#35508)
Stefan Monnier [Wed, 29 May 2019 19:56:14 +0000 (15:56 -0400)]
* lisp/subr.el (add-hook): Turn `append` into `depth` (bug#35508)

Make it possible to control the relative ordering of functions on hooks by
specifying `depth` in the same was as was possible with `add-function`.

* lisp/electric.el (electric--sort-post-self-insertion-hook):
Delete function.
(electric-indent-mode, electric-layout-mode, electric-quote-mode):
* lisp/elec-pair.el (electric-pair-mode): Use new `depth` arg instead of
electric--sort-post-self-insertion-hook.

* lisp/emacs-lisp/syntax.el (syntax-propertize, syntax-ppss):
Use new `depth` arg to make sure noone accidentally gets added
after syntax-ppss-flush-cache.

* doc/lispref/modes.texi (Setting Hooks): Document new `depth` arg.

* test/lisp/subr-tests.el (subr-tests-add-hook-depth): New test.

5 years agoUse lexical-binding in makesum.el and add tests
Simen Heggestøyl [Wed, 29 May 2019 18:29:28 +0000 (20:29 +0200)]
Use lexical-binding in makesum.el and add tests

* lisp/makesum.el: Use lexical-binding.
(make-command-summary): Replace `if..progn' with `when'.
(double-column): Add docstring and apply trivial simplifications.

* test/lisp/makesum-tests.el: New file with tests for makesum.el.

5 years agoSimplify gnus-or and gnus-and
Basil L. Contovounesios [Wed, 29 May 2019 14:53:31 +0000 (15:53 +0100)]
Simplify gnus-or and gnus-and

* lisp/gnus/gnus-art.el: Make implicit seq.el dependency explicit.
(gnus-treat-predicate): Use seq-some in place of mapcar + gnus-or
and evaluate lambda predicate.
* lisp/gnus/gnus-util.el (gnus-or, gnus-and): Simplify.

5 years agoRework cairo image support to improve consistency (Bug#35871)
YAMAMOTO Mitsuharu [Wed, 29 May 2019 08:58:04 +0000 (17:58 +0900)]
Rework cairo image support to improve consistency (Bug#35871)

* src/dispextern.h (Emacs_Pix_Container) [USE_CAIRO]: New struct.  Also used
as aliases of Emacs_Pixmap and Emacs_Pix_Context.
(x_kill_gs_process) [USE_CAIRO]: #ifdef out extern.
(RGB_PIXEL_COLOR) [USE_CAIRO]: Define as unsigned long.

* src/image.c: Include stdint.h.  On cairo, remove existing image support
code, use non-X11-specific code for XBM/XPM, and remove POSTSCRIPT support.
(PUT_PIXEL): New macro.  Use it instead of XPutPixel when not specific to X11.
(GET_PIXEL, NO_PIXMAP, PIX_MASK_RETAIN, PIX_MASK_DRAW)
(RGB_TO_ULONG, ARGB_TO_ULONG, RED_FROM_ULONG)
(GREEN_FROM_ULONG, BLUE_FROM_ULONG, RED16_FROM_ULONG)
(GREEN16_FROM_ULONG, BLUE16_FROM_ULONG) [USE_CAIRO]: New macros.
(image_create_pix_container, image_pix_container_put_pixel)
(image_pix_context_get_pixel, image_pix_container_create_from_bitmap_data)
(cr_create_cr_surface_from_image) [USE_CAIRO]: New functions.
(image_create_x_image_and_pixmap_1, image_destroy_x_image)
(image_check_image_size): Extract X11-specific code from here ...
(x_create_x_image_and_pixmap, x_destroy_x_image)
(x_check_image_size) [HAVE_X_WINDOWS]: ... to here.
(x_create_bitmap_mask) [HAVE_X_WINDOWS]: Use them.  Inline specialized version
of four_corners_best.
(prepare_image_for_display, image_clear_image_1, image_destroy_x_image)
(gui_put_x_image, image_put_x_image, image_get_x_image, image_unget_x_image)
(Create_Pixmap_From_Bitmap_Data, lookup_rgb_color)
(image_to_emacs_colors) [USE_CAIRO]: Add cairo support.
(image_background, png_load_body) [USE_CAIRO]: Use image_alloc_image_color for
img->background.
(image_sync_to_pixmaps) [USE_CAIRO]: #ifdef out function.
(Create_Pixmap_From_Bitmap_Data) [HAVE_X_WINDOWS]: Move image_check_image_size
call from here ...
(xbm_load_image): ... to here.
(xpm_load_image):
(image_build_heuristic_mask, pbm_load, gif_load) [USE_CAIRO]: Use
lookup_rgb_color for argument of PUT_PIXEL.
(image_pixmap_draw_cross) [HAVE_X_WINDOWS || USE_CAIRO]: New function.
(image_disable_image) [HAVE_X_WINDOWS || USE_CAIRO]: Use it.
(CrossForeground) [!HAVE_NTGUI && !HAVE_NS]: New macro.
(image_disable_image) [!HAVE_NTGUI && !HAVE_NS]: Use it.

* src/xterm.c (handle_one_xevent) <ClientMessage> [USE_CAIRO]: #ifdef out
x_kill_gs_process call.
(x_free_pixmap) [USE_CAIRO]: Free Emacs_Pix_Container and data it contains.

5 years agoImprove previous change for tool bar image support on GTK+2 with cairo
YAMAMOTO Mitsuharu [Wed, 29 May 2019 01:43:01 +0000 (10:43 +0900)]
Improve previous change for tool bar image support on GTK+2 with cairo

* src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: Remove
unused argument f.  All callers changed.  Handle general alpha value.

5 years ago* mule-cmds.el (encoded-string-description): Require unibyte string as input
Stefan Monnier [Wed, 29 May 2019 00:59:35 +0000 (20:59 -0400)]
* mule-cmds.el (encoded-string-description): Require unibyte string as input

5 years ago* lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case
Stefan Monnier [Tue, 28 May 2019 23:33:20 +0000 (19:33 -0400)]
* lisp/international/mule-cmds.el (encode-coding-char): Fix ASCII case

Don't bother with string-as-multibyte since `string` already returns
multibyte when needed.  Don't forget to encode when the string is
ASCII, e.g. for ebcdic case and to make sure we always return
a unibyte string.

* test/lisp/international/mule-tests.el (mule-cmds-tests--encode-ebcdic):
New test.

5 years ago* doc/misc/cl.texi (Macro Bindings): Add a detail
Michael Heerdegen [Thu, 23 May 2019 01:33:04 +0000 (03:33 +0200)]
* doc/misc/cl.texi (Macro Bindings): Add a detail

Say that calls of 'cl-macrolet' bound macros are expanded in the
global environment.

5 years ago* lisp/gnus/gnus-art.el: Use mail-header-p
Stefan Monnier [Tue, 28 May 2019 19:10:42 +0000 (15:10 -0400)]
* lisp/gnus/gnus-art.el: Use mail-header-p

(gnus-summary-save-in-pipe, gnus-article-prepare)
(gnus-request-article-this-buffer): Use mail-header-p instead of vectorp.
(gnus-request-article-this-buffer): Use insert-buffer-substring since
it doesn't behave like string-make-multibyte any more.

5 years agoFix handling of -xrm on MS-Windows broken by recent commits
Eli Zaretskii [Tue, 28 May 2019 16:58:27 +0000 (19:58 +0300)]
Fix handling of -xrm on MS-Windows broken by recent commits

* src/w32reg.c (w32_get_string_resource): The argument V_RDB
is a 'char **', not a 'char *'.  This fixes -xrm handling on
MS-Windows, broken by conversion of x_get_string_resource to
terminal-specific hook.

5 years ago* lisp/frameset.el: Stop using obsolete registerv objects
Stefan Monnier [Tue, 28 May 2019 13:05:25 +0000 (09:05 -0400)]
* lisp/frameset.el: Stop using obsolete registerv objects

(frameset-register): New type.
(register-val-jump-to): Define on this new type, replacing
frameset--jump-to-register.
(register-val-describe): Define on this new type, replacing
frameset--print-register.
(frameset-to-register): Use new frameset-make-register.
(frameset--reuse-frame): η-reduce.

5 years agoCleanup of TODO to prefer report-emacs-bug
Stefan Kangas [Sun, 26 May 2019 16:08:01 +0000 (18:08 +0200)]
Cleanup of TODO to prefer report-emacs-bug

* etc/TODO: Remove already completed removal of `report-calc-bug'.
* lisp/calc/calc.el: Remove any mention of `report-calc-bug'.
* lisp/epg-config.el: Redefine `epg-bug-report-address' as obsolete
variable alias for `report-emacs-bug-address'.
* lisp/expand.el: Remove any mention of `expand-submit-report'.
* lisp/obsolete/fast-lock.el: Remove commented out code for
`fast-lock-submit-bug-report'.

5 years agoSupport tool bar icon image also on GTK+2 with cairo
YAMAMOTO Mitsuharu [Tue, 28 May 2019 08:31:57 +0000 (17:31 +0900)]
Support tool bar icon image also on GTK+2 with cairo

* src/gtkutil.c (xg_get_pixbuf_from_surface) [USE_CAIRO && !HAVE_GTK3]: New
function.
(xg_get_image_for_pixmap) [USE_CAIRO && !HAVE_GTK3]: Use it.
(xg_tool_item_stale_p, update_frame_tool_bar) [USE_CAIRO && !HAVE_GTK3]: Use
cairo code also on GTK+2.

5 years ago* test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.
Glenn Morris [Tue, 28 May 2019 00:20:12 +0000 (17:20 -0700)]
* test/lisp/autorevert-tests.el: Give on on remote hydra.nixos tests.

(auto-revert--test-enabled-remote): Disable on hydra.nixos.

5 years ago* test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests.
Glenn Morris [Mon, 27 May 2019 21:08:07 +0000 (14:08 -0700)]
* test/lisp/autorevert-tests.el: Try to fix remote hydra.nixos tests.

5 years agoRemap `complete-symbol' in CSS mode
Simen Heggestøyl [Mon, 27 May 2019 19:12:53 +0000 (21:12 +0200)]
Remap `complete-symbol' in CSS mode

* lisp/textmodes/css-mode.el (css-mode-map): Remap `complete-symbol'
to `completion-at-point'.
(css-mode): Update docstring to produce the right key binding.

5 years agoCorrectly eliminate duplicate cases in switch compilation
Mattias Engdegård [Fri, 17 May 2019 09:25:06 +0000 (11:25 +0200)]
Correctly eliminate duplicate cases in switch compilation

Fix code mistakes that prevented the correct elimination of duplicated
cases when compiling a `cond' form to a switch bytecode, as in

  (cond ((eq x 'a) 1)
        ((eq x 'b) 2)
        ((eq x 'a) 3)   ; should be elided
        ((eq x 'c) 4))

Sometimes, this caused the bytecode to use the wrong branch (bug#35770).

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Return obj2 eval'ed.
(byte-compile-cond-jump-table-info):
Discard redundant condition.  Use `obj2' as evaluated.
Discard duplicated cases instead of failing the table generation.
* test/lisp/emacs-lisp/bytecomp-tests.el (toplevel): Require subr-x.
(byte-opt-testsuite-arith-data, bytecomp-test--switch-duplicates): Test.

5 years agoAnother attempt to fix Bug#35769
Michael Albinus [Mon, 27 May 2019 07:21:37 +0000 (09:21 +0200)]
Another attempt to fix Bug#35769

* lisp/net/tramp.el (tramp-call-process, tramp-call-process-region)
(tramp-process-lines): Suppress `process-environment' entries
dedicated for remote processes.  (Bug#35769)

5 years ago; Fix read-multiple-choice test
Noam Postavsky [Mon, 27 May 2019 01:55:00 +0000 (21:55 -0400)]
; Fix read-multiple-choice test

* test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice):
Rebind read-event, read-multiple-choice uses that since 2019-05-26
"Avoid infloop in read-multiple-choice (Bug#32257)".

5 years agoAdd a menu bar menu for CSS mode
Simen Heggestøyl [Sun, 26 May 2019 19:37:05 +0000 (21:37 +0200)]
Add a menu bar menu for CSS mode

* lisp/textmodes/css-mode.el (css-mode-map): Add menu bar menu.

5 years ago* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert fix for Bug#35769
Michael Albinus [Sun, 26 May 2019 19:37:34 +0000 (21:37 +0200)]
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert fix for Bug#35769

5 years ago; * INSTALL.REPO: Start by telling how to clone the repository.
Eli Zaretskii [Sun, 26 May 2019 16:32:46 +0000 (19:32 +0300)]
; * INSTALL.REPO: Start by telling how to clone the repository.

5 years agoAvoid infloop in read-multiple-choice (Bug#32257)
Noam Postavsky [Wed, 22 May 2019 00:33:09 +0000 (20:33 -0400)]
Avoid infloop in read-multiple-choice (Bug#32257)

* lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
signals an error "Non-character input-event", call `read-event' to
take the non-character event out of the queue.  Don't merge to master,
we just use `read-event' directly there, rather than this solution
which relies a particular error message.

5 years ago; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.
Noam Postavsky [Sun, 26 May 2019 12:46:15 +0000 (08:46 -0400)]
; * doc/lispref/nonascii.texi (Explicit Encoding): Fix typo.

5 years agoAvoid infloop in read-multiple-choice (Bug#32257)
Noam Postavsky [Wed, 22 May 2019 00:38:00 +0000 (20:38 -0400)]
Avoid infloop in read-multiple-choice (Bug#32257)

* lisp/emacs-lisp/rmc.el (read-multiple-choice): Use `read-event'
which won't get stuck (return the same event over and over again) for
non-character events, unlike `read-char'.

5 years agoTweak recent additions in tabify-tests.el
Basil L. Contovounesios [Sun, 26 May 2019 10:23:03 +0000 (11:23 +0100)]
Tweak recent additions in tabify-tests.el

* test/lisp/tabify-tests.el (tabify-tests--test-changes): Rename
third argument to avoid "lexical argument shadows dynamic variable"
warnings.  Use mapconcat in place of mapcar+concat.
(tabify-tests-untabify, tabify-tests-tabify): Quote function symbols
as such.

5 years agoUse lexical-binding in paren.el and add tests
Simen Heggestøyl [Sun, 26 May 2019 09:11:23 +0000 (11:11 +0200)]
Use lexical-binding in paren.el and add tests

* lisp/paren.el: Use lexical-binding.
(show-paren--default): Use imperative form in doc-string.

* test/lisp/paren-tests.el: New file with tests for paren.el.

5 years agoUpdate author/maintainer info
Paul Eggert [Sun, 26 May 2019 07:58:28 +0000 (00:58 -0700)]
Update author/maintainer info

Update email addresses and fix spellings of some author and
maintainer names.

5 years agoRemove Maintainer: when it duplicates Author:
Paul Eggert [Sun, 26 May 2019 07:58:27 +0000 (00:58 -0700)]
Remove Maintainer: when it duplicates Author:

The convention is that a file with Author: but not Maintainer:
means the author is a maintainer, which makes it confusing
when a file lists the same person as author and maintainer.
Avoid the confusion by removing the duplicate Maintainer: line.

5 years agoUse lexical-binding in tabify.el and add tests
Stefan Kangas [Sun, 26 May 2019 01:33:39 +0000 (18:33 -0700)]
Use lexical-binding in tabify.el and add tests

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

5 years ago* CONTRIBUTE: Split git configuration from fetch-and-build
Paul Eggert [Sun, 26 May 2019 01:29:16 +0000 (18:29 -0700)]
* CONTRIBUTE: Split git configuration from fetch-and-build

5 years ago; Minor docstring change
Dmitry Gutov [Sat, 25 May 2019 22:48:27 +0000 (01:48 +0300)]
; Minor docstring change

5 years agoDocument ‘Maintainer: emacs-devel@gnu.org’
Paul Eggert [Sat, 25 May 2019 21:23:56 +0000 (14:23 -0700)]
Document ‘Maintainer: emacs-devel@gnu.org’

* doc/lispref/tips.texi (Library Headers): Document that the
Maintainer: line now says ‘emacs-devel@gnu.org’ rather than ‘FSF’.

5 years agoGo back to "Maintainer: emacs-devel@gnu.org"
Paul Eggert [Sat, 25 May 2019 20:43:06 +0000 (13:43 -0700)]
Go back to "Maintainer: emacs-devel@gnu.org"

Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.