1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-26 07:00:35 -08:00
Commit graph

136588 commits

Author SHA1 Message Date
Stefan Monnier
4b87a032dc * 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 ...)
2019-06-03 13:44:23 -04:00
Oleh Krehel
83c3a61e4c 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.
2019-06-03 15:48:09 +02:00
Juanma Barranquero
33ea72eb3c * help-fns.el (help-fns--first-release): Do not fail if no release is found. 2019-06-03 02:13:57 +02:00
Stefan Monnier
e02f751e3f * 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.
2019-06-02 19:21:45 -04:00
Stefan Monnier
8047bd08ca * 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.
2019-06-02 13:04:13 -04:00
Stefan Monnier
e3029eaadf * 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.
2019-06-02 11:52:41 -04:00
Alan Mackenzie
30b0c5bf42 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.
2019-06-02 14:05:33 +00:00
Glenn Morris
d920ec617b 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)
2019-06-01 19:37:35 -07:00
Stefan Kangas
4c549ab5d0 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.
2019-06-01 18:52:22 -07:00
Stefan Kangas
227b3c89f0 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.
2019-06-01 18:52:22 -07:00
Paul Eggert
5ad5c4ac99 Fix .gitignore spec for personal customizations
Problem reported by Mauro Aranda (Bug#35945).
* .gitignore: Replace .dir-locals?.el with .dir-locals-2.el.
2019-06-01 18:33:55 -07:00
Paul Eggert
bee3cc604d Tune cl-assoc
* lisp/emacs-lisp/cl-seq.el (cl-assoc):	Use assq for fixnums.
2019-06-01 18:13:00 -07:00
Mattias Engdegård
b5e41e8ba3 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.
2019-06-01 18:13:00 -07:00
Noam Postavsky
aa9d57eed1 ; Add NEWS entry for previous change 2019-06-01 20:01:43 -04:00
Daniel Ralston
d3f14ffae4 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
2019-06-01 20:01:43 -04:00
Noam Postavsky
4541e31d9c 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.
2019-06-01 20:01:43 -04:00
Noam Postavsky
b9c0e3e8c0 * lisp/net/rcirc.el: Remove redundant :group usage
... and empty Todo comment section.
2019-06-01 20:01:43 -04:00
Glenn Morris
d101e87715 ; Fix stray merge conflict 2019-06-01 14:00:43 -07:00
Alan Mackenzie
bd5ca55979 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.
2019-06-01 20:15:13 +00:00
Alan Mackenzie
99bc4af9c8 * lisp/progmodes/cc-engine.el: Permute certain literal cacheing functions 2019-06-01 20:08:27 +00:00
Alan Mackenzie
9dee49ed64 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.
2019-06-01 19:56:07 +00:00
Glenn Morris
56964f3d31 ; Unmaintain 2019-06-01 12:11:55 -07:00
Glenn Morris
6028662649 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
2019-06-01 12:04:43 -07:00
Glenn Morris
5fb3782e95 ; Merge from origin/emacs-26
The following commit was skipped:

b3df372 * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system ...
2019-06-01 12:04:42 -07:00
Glenn Morris
7e911d007d 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
2019-06-01 12:04:42 -07:00
Glenn Morris
f17e0e93bd ; 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
2019-06-01 12:04:42 -07:00
Glenn Morris
7af7289e9e Merge from origin/emacs-26
b2e44b4 Pacify GCC when compiling unexelf.c on Fedora 30
2019-06-01 12:04:42 -07:00
Glenn Morris
c6f4f5debd ; Merge from origin/emacs-26
The following commit was skipped:

fa9e575 Suppress GCC 9 “no longer supported” messages
2019-06-01 12:04:42 -07:00
Glenn Morris
2101b9d170 Merge from origin/emacs-26
1b2f83b Fix docstring of bookmark-get-bookmark
2019-06-01 12:04:41 -07:00
Glenn Morris
cce8e425a4 ; Merge from origin/emacs-26
The following commit was skipped:

c4d4dcf Avoid infloop in read-multiple-choice (Bug#32257)
2019-06-01 12:04:41 -07:00
Glenn Morris
17a1dae4af 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
2019-06-01 12:04:41 -07:00
Glenn Morris
1860b6d57b ; Auto-commit of loaddefs files. 2019-06-01 11:57:55 -07:00
Glenn Morris
008b263fee * lisp/gnus/gnus.el: Mark autoloaded macros as such.
This avoids a build failure.
2019-06-01 11:33:25 -07:00
Eli Zaretskii
daf32f1f87 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.
2019-06-01 18:52:11 +03:00
Simen Heggestøyl
f2a7acdde7 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.
2019-06-01 15:33:37 +02:00
Stefan Kangas
b6c628a16b Use lexical-binding in timezone.el and add tests
* lisp/timezone.el: Use lexical-binding.
* test/lisp/timezone-tests.el: New file.
2019-06-01 01:44:31 -07:00
Eli Zaretskii
d8a6d82c4d 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.
2019-06-01 10:28:30 +03:00
Simen Heggestøyl
12f530a735 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.
2019-05-31 19:07:48 +02:00
Eli Zaretskii
c3748b1376 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>.
2019-05-31 12:13:56 +03:00
Stefan Monnier
b3df372959 * 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.
2019-05-31 00:54:05 -04:00
Noam Postavsky
134edc1036 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.
2019-05-30 18:46:07 -04:00
Noam Postavsky
5f01af6c8e 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.
2019-05-30 18:46:07 -04:00
Paul Eggert
7871c3dc9f 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.
2019-05-30 15:29:50 -07:00
Paul Eggert
b2e44b4246 Pacify GCC when compiling unexelf.c on Fedora 30
* src/unexelf.c (unexec): Pacify GCC 9.
2019-05-30 15:29:50 -07:00
Paul Eggert
fa9e575c1d 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.
2019-05-30 15:29:50 -07:00
Paul Eggert
4b24b0185d 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.
2019-05-30 15:29:50 -07:00
Paul Eggert
d93f4bda7a 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.
2019-05-30 15:29:50 -07:00
Paul Eggert
40bc7ddb75 Improve eq1/memql performance
* src/fns.c (Fmemql, Feql): Inline to tweak performance.
2019-05-30 14:58:13 -07:00
Mattias Engdegård
b354935902 Fix `memql' for bignums
* src/fns.c (Fmemql): Make `memql' work for bignums.
* test/src/fns-tests.el (test-bignum-eql): Also test `memql'.
2019-05-30 14:58:13 -07:00
Alan Mackenzie
57e9141a9c 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.
2019-05-30 19:37:25 +00:00