]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agoTweak font-locking in conf-mode for "#foo { bar" lines
Lars Ingebrigtsen [Sat, 27 Jul 2019 14:50:25 +0000 (16:50 +0200)]
Tweak font-locking in conf-mode for "#foo { bar" lines

* lisp/textmodes/conf-mode.el (conf-font-lock-keywords): Don't
font-lock comments as keywords (bug#24355).

5 years agoMake dired fontify pipes and sockets
Lars Ingebrigtsen [Sat, 27 Jul 2019 14:25:39 +0000 (16:25 +0200)]
Make dired fontify pipes and sockets

* lisp/dired.el (dired-socket): New face for pipes and sockets
(bug#24547).
(dired-re-socket): New regexp to match them.
(dired-font-lock-keywords): Use them.

5 years agoAdd a doc string to redisplay-highlight-region-function
Lars Ingebrigtsen [Sat, 27 Jul 2019 13:59:32 +0000 (15:59 +0200)]
Add a doc string to redisplay-highlight-region-function

* lisp/simple.el (redisplay-highlight-region-function): Add a doc
string (bug#24701).

5 years ago* lisp/progmodes/compile.el: Fix bug#36803.
Stefan Monnier [Sat, 27 Jul 2019 13:57:18 +0000 (09:57 -0400)]
* lisp/progmodes/compile.el: Fix bug#36803.

Make sure all mode-lines are updated when compilation-in-progress
is changed since it's visible globally.

(compilation--update-in-progress-mode-line): New function.
(compilation-start, compilation-sentinel): Use it.

5 years agoCC Mode: Stop /**/ spuriously fontifying as a doc comment under gtkdoc
Alan Mackenzie [Sat, 27 Jul 2019 12:55:53 +0000 (12:55 +0000)]
CC Mode: Stop /**/ spuriously fontifying as a doc comment under gtkdoc

Also fix infinite loops by correcting two regexps.

* lisp/progmodes/cc-langs.el (c-last-c-comment-end-on-line-re)
(c-last-open-c-comment-start-on-line-re): Correct the regexp fragments
"\\*+[^/]" to "\\*+\\([^*/]\\|$\\)".

* lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Disallow /**/ for
doc comment fontification.

5 years agoDoc fix for package-menu-filter
Lars Ingebrigtsen [Sat, 27 Jul 2019 12:38:40 +0000 (14:38 +0200)]
Doc fix for package-menu-filter

* lisp/emacs-lisp/package.el (package-menu-filter): Document the
use of arc:ARCHIVE and status:STATUS (bug#24883).

5 years agoAllow serial-term to take an optional argument for line-mode
Lars Ingebrigtsen [Sat, 27 Jul 2019 12:18:27 +0000 (14:18 +0200)]
Allow serial-term to take an optional argument for line-mode

* lisp/term.el (serial-term): Allow taking an optional argument to
avoid term-raw-mode (bug#24922).

* doc/lispref/processes.texi (Serial Ports): Document it.

5 years agoOnly insert XML declarations in nxml-mode when the buffer is empty
Lars Ingebrigtsen [Sat, 27 Jul 2019 12:01:10 +0000 (14:01 +0200)]
Only insert XML declarations in nxml-mode when the buffer is empty

* lisp/nxml/nxml-mode.el (nxml-mode): Don't insert the XML
declaration unless it's an empty buffer (bug#24978).  This avoids
the problem of the declaration being inserted by mistake when
opening XML files from archives and the like -- the file doesn't
exist on the file system there, either, so it would typically lead
to doubled XML declarations.

5 years agoedebug.el comment fix
Lars Ingebrigtsen [Sat, 27 Jul 2019 11:34:17 +0000 (13:34 +0200)]
edebug.el comment fix

* lisp/emacs-lisp/edebug.el: Fix comment referring to non-existent
variable (bug#25188).

5 years agoClarify yank-pop doc string
Lars Ingebrigtsen [Sat, 27 Jul 2019 11:15:03 +0000 (13:15 +0200)]
Clarify yank-pop doc string

* lisp/simple.el (yank-pop): Mention `kill-ring' to make it more
clear what the command is doing (bug#25196).

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 27 Jul 2019 11:11:59 +0000 (14:11 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoMove tty-colors-tests.el to its proper directory.
Eli Zaretskii [Sat, 27 Jul 2019 11:10:20 +0000 (14:10 +0300)]
Move tty-colors-tests.el to its proper directory.

5 years agoUse the CSS convention for #RGB colors (bug#36304)
Pip Cet [Mon, 22 Jul 2019 02:40:35 +0000 (02:40 +0000)]
Use the CSS convention for #RGB colors (bug#36304)

* src/xterm.c (x_parse_color): Change interpretation of #RGB color
triplets to match CSS rather than X conventions.

* lisp/term/tty-colors.el (tty-color-standard-values): Change
interpretation of #RGB color triplets to match CSS rather than X
conventions.  Allow upper-case digits.  Fix rgb:R/G/B
interpretation.

* doc/emacs/display.texi (Colors): Specify the convention used for
"#RGB" color triplets.

* test/lisp/tty-colors-tests.el: New file.

* etc/NEWS: Mention the change.

5 years agoAllow global-auto-revert-ignore-buffer to be a predicate function
Lars Ingebrigtsen [Sat, 27 Jul 2019 11:04:33 +0000 (13:04 +0200)]
Allow global-auto-revert-ignore-buffer to be a predicate function

* lisp/autorevert.el (global-auto-revert-ignore-buffer): Allow
this to be a predicate function (bug#25277).
(auto-revert--global-add-current-buffer): Use it.

5 years agoDon't double-decompress cached HTTP responses (bug#36773)
Pip Cet [Thu, 25 Jul 2019 13:22:15 +0000 (13:22 +0000)]
Don't double-decompress cached HTTP responses (bug#36773)

* lisp/url/url-http.el (url-handle-content-transfer-encoding): Modify
the message headers as well as the message body to reflect
decompression.
* lisp/mail/mail-utils.el (mail-fetch-field): Add DELETE argument, to
delete header lines included in the result.

5 years agoRename coverage symbols in edebug to avoid collisions
Lars Ingebrigtsen [Sat, 27 Jul 2019 10:21:30 +0000 (12:21 +0200)]
Rename coverage symbols in edebug to avoid collisions

* lisp/emacs-lisp/edebug.el (edebug-clear-coverage): Use
edebug-unknown and edebug-ok-coverage instead of unknown and
ok-coverage to avoid naming collisions with packages that use
those two symbols (bug#25471).
(edebug--update-coverage, edebug-display-freq-count): Ditto.

5 years agoAllow directory-files-recursively to follow symlinks
Lars Ingebrigtsen [Fri, 26 Jul 2019 15:03:42 +0000 (17:03 +0200)]
Allow directory-files-recursively to follow symlinks

* doc/lispref/files.texi (Contents of Directories): Document it.

* lisp/files.el (directory-files-recursively): Allow following
symlinks.

5 years agodefine-derived-mode doc string clarification
Lars Ingebrigtsen [Sat, 27 Jul 2019 10:04:53 +0000 (12:04 +0200)]
define-derived-mode doc string clarification

* lisp/emacs-lisp/derived.el (define-derived-mode): Doc string
clarification about the keywords (bug#26301).

5 years agoClarify docstring of last-command-event.
Noam Postavsky [Fri, 26 Jul 2019 21:25:08 +0000 (17:25 -0400)]
Clarify docstring of last-command-event.

* src/keyboard.c (syms_of_keyboard) <last-command-event>: Reword docstring.

5 years agoAdjust remaining uses of `NILP (HASH_HASH)`.
Stefan Monnier [Fri, 26 Jul 2019 20:55:59 +0000 (16:55 -0400)]
Adjust remaining uses of `NILP (HASH_HASH)`.

* src/json.c (lisp_to_json_toplevel_1):
* src/pdumper.c (dump_hash_table_stable_p, hash_table_contents):
* src/print.c (print, print_vectorlike):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
Use `EQ (HASH_KEY, Qunbound)` instead of `NILP (HASH_HASH)`.

5 years agoDon't dump the `hash` vector if it will need to be recomputed anyway
Stefan Monnier [Fri, 26 Jul 2019 18:59:15 +0000 (14:59 -0400)]
Don't dump the `hash` vector if it will need to be recomputed anyway

* src/fns.c (hash_table_rehash): Only set `hash` field at the end.
(sweep_weak_table): Only set slot of `hash` vector when that vector exists.
(Fhash_table_count): No need to hash_rehash_if_needed any more.

* src/lisp.h (hash_rehash_needed_p): Test the presence of `hash` instead.

* src/pdumper.c (check_hash_table_rehash, dump_hash_table):
Set `hash` to nil to indicate that the table needs to be rehashed.

5 years ago* src/fns.c: Use `EQ (key, Qunbound)` to check if a slot is in use
Stefan Monnier [Fri, 26 Jul 2019 18:24:02 +0000 (14:24 -0400)]
* src/fns.c: Use `EQ (key, Qunbound)` to check if a slot is in use

(make_hash_table): Use Qunbound for the key_and_value table.
(maybe_resize_hash_table): Set new key_and_value slots to Qunbound.
(hash_table_rehash): Don't bother copying the old table of hashes since
we're recomputing it completely.
(hash_table_rehash): Use hash_rehash_needed_p more.
(hash_put): Add assertion that the slot was indeed considered empty.
(hash_remove_from_table, hash_clear, sweep_weak_table): Set empty
slot's key to Qunbound.
(Fmaphash): Use `EQ (key, Qunbound)` to check if a slot is in use.

* src/lisp.h (struct Lisp_Hash_Table): Update comments.

5 years ago* src/fns.c (hash_index_size): New function, extracted from make_hash_table
Stefan Monnier [Fri, 26 Jul 2019 17:29:35 +0000 (13:29 -0400)]
* src/fns.c (hash_index_size): New function, extracted from make_hash_table

(make_hash_table, maybe_resize_hash_table): Use it.

* src/pdumper.c (check_hash_table_rehash): Use hash_rehash_needed_p.

5 years agoCC Mode. Create lang vars for certain skipping expressions at compile time
Alan Mackenzie [Fri, 26 Jul 2019 17:48:45 +0000 (17:48 +0000)]
CC Mode.  Create lang vars for certain skipping expressions at compile time

This saves repeated calculations at run time.

* lisp/progmodes/cc-langs.el (c-stmt-boundary-skip-chars)
(c-stmt-boundary-skip-list, c-stmt-boundary-skip-chars-with-comma)
(c-stmt-boundary-skip-list-with-comma): New lang constants/variables.

* lisp/progmodes/cc-engine.el (c-commas-bound-stmts): New variable
(c-beginning-of-statement-1): Set c-commas-bound-stmts rather than
c-stmt-delim-chars.
(c-crosses-statement-barrier-p): Remove the now unneeded calculations of
c-stmt-delim-chars.  Set skip chars to one of the new lang variables, and
later to a substring of it.
(c-at-statement-start-p): Set c-syntactic-skip-backward from the new
variables.
(c-at-expression-start-p): Bind c-commas-bound-stmts.  Use
c-stmt-delim-chars-with-comma rather than c-stmt-delim-chars in a backward
scan.
(c-guess-basic-syntax): Bind c-commas-bound-stmts rather than
c-stmt-delim-chars to itself.  Bind c-commas-bound-stmts to t at another place
rather than setting c-stmt-delim-chars to c-stmt-delim-chars-with-comma.

5 years ago* src/fns.c (maybe_resize_hash_table): Obey rehash_size (bug#25743)
Stefan Monnier [Fri, 26 Jul 2019 17:15:20 +0000 (13:15 -0400)]
* src/fns.c (maybe_resize_hash_table): Obey rehash_size (bug#25743)

5 years agoFix recently-introduced file-name-absolute-p typo
Paul Eggert [Fri, 26 Jul 2019 16:46:18 +0000 (09:46 -0700)]
Fix recently-introduced file-name-absolute-p typo

Fix a bug introduced in 2019-07-24T21:28:13!eggert@cs.ucla.edu.
* src/fileio.c (file_name_absolute_p):
~/foo is also absolute (Bug#36809).
* test/src/fileio-tests.el (fileio-tests--file-name-absolute-p):
Rename from fileio-tests--no-such-user and add more tests.

5 years agoFix ‘make check’ failure
Paul Eggert [Fri, 26 Jul 2019 16:41:30 +0000 (09:41 -0700)]
Fix ‘make check’ failure

Problem introduced in 2019-07-26T07:08:40!larsi@gnus.org.
* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
Don’t count "0 unexpected" as unexpected.

5 years agoTweak the display in gnus-summary-browse-url
Lars Ingebrigtsen [Fri, 26 Jul 2019 14:06:25 +0000 (16:06 +0200)]
Tweak the display in gnus-summary-browse-url

* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): Don't force
article conf, because the command may be called from the article
buffer (which may be the only buffer displayed).

5 years ago* lisp/mail/footnote.el (footnote--local-advice): Add missing comma.
Noam Postavsky [Fri, 26 Jul 2019 12:47:39 +0000 (08:47 -0400)]
* lisp/mail/footnote.el (footnote--local-advice): Add missing comma.

5 years agoSeparate out the "/" prefix into a named keymap in ibuffer
Lars Ingebrigtsen [Fri, 26 Jul 2019 12:38:35 +0000 (14:38 +0200)]
Separate out the "/" prefix into a named keymap in ibuffer

* lisp/ibuffer.el (ibuffer--filter-map): Separate out into its own
keymap (bug#25797).
(ibuffer-mode-map): Bind the "/" key to it.

5 years agoAdd version tag to smtpmail-servers-requiring-authorization
Lars Ingebrigtsen [Fri, 26 Jul 2019 12:17:14 +0000 (14:17 +0200)]
Add version tag to smtpmail-servers-requiring-authorization

* lisp/mail/smtpmail.el
(smtpmail-servers-requiring-authorization): Add version tag.

5 years agoRemove interactive spec from eshell-source-file
Lars Ingebrigtsen [Fri, 26 Jul 2019 12:13:56 +0000 (14:13 +0200)]
Remove interactive spec from eshell-source-file

* lisp/eshell/em-script.el (eshell-source-file): This function
can't work as an interactive command, so remove the interactive
spec (bug#26057).

5 years agoClarify when gpg2 and gpg are used in the epg-gpg-program doc string
Lars Ingebrigtsen [Fri, 26 Jul 2019 12:03:11 +0000 (14:03 +0200)]
Clarify when gpg2 and gpg are used in the epg-gpg-program doc string

* lisp/epg-config.el (epg-gpg-program): Doc string clarification
(bug#26090).

5 years agoMake ffap find {/etc} files again
Lars Ingebrigtsen [Fri, 26 Jul 2019 11:38:51 +0000 (13:38 +0200)]
Make ffap find {/etc} files again

* lisp/ffap.el (ffap-string-at-point-mode-alist): Make
(ffap-file-at-point) work on {/etc} again (bug#26190).

5 years agoFix obsoletion notice in dired-pop-to-buffer
Lars Ingebrigtsen [Fri, 26 Jul 2019 11:10:13 +0000 (13:10 +0200)]
Fix obsoletion notice in dired-pop-to-buffer

* lisp/dired.el (dired-pop-to-buffer): `dired-mark-pop-up' doesn't
seem to have anything to do with this function, so saying that
it's a replacement seems misleading (bug#26243).

5 years agoMinor rewording of a couple of sentences in define-derived-mode doc
Lars Ingebrigtsen [Fri, 26 Jul 2019 11:05:08 +0000 (13:05 +0200)]
Minor rewording of a couple of sentences in define-derived-mode doc

* lisp/emacs-lisp/derived.el (define-derived-mode): Reword
documentation to be less whimsical (bug#26301).

5 years agoDoc clarification in time-stamp-pattern
Lars Ingebrigtsen [Fri, 26 Jul 2019 10:38:28 +0000 (12:38 +0200)]
Doc clarification in time-stamp-pattern

* lisp/time-stamp.el (time-stamp-pattern): Try to document what
the examples mean (bug#26335).

5 years agoAdd a NEWS item about smtpmail-servers-requiring-authorization
Lars Ingebrigtsen [Fri, 26 Jul 2019 10:18:58 +0000 (12:18 +0200)]
Add a NEWS item about smtpmail-servers-requiring-authorization

5 years agoAllow specifying that SMTP auth should always be used
Lars Ingebrigtsen [Fri, 26 Jul 2019 10:16:49 +0000 (12:16 +0200)]
Allow specifying that SMTP auth should always be used

* doc/misc/smtpmail.texi (Authentication): Document it.

* lisp/mail/smtpmail.el
(smtpmail-servers-requiring-authorization): New variable (bug#26359).
(smtpmail-via-smtp): Use it.

5 years agoClarify last-command-event doc string
Lars Ingebrigtsen [Fri, 26 Jul 2019 09:34:15 +0000 (11:34 +0200)]
Clarify last-command-event doc string

* src/keyboard.c (syms_of_keyboard): Clarify the doc string
(bug#26626).

5 years agoAdd an autoload cookie to package-upload-file
Lars Ingebrigtsen [Fri, 26 Jul 2019 09:18:37 +0000 (11:18 +0200)]
Add an autoload cookie to package-upload-file

* lisp/emacs-lisp/package-x.el (package-upload-file): Add an
autoload cookie (bug#26724).

5 years agoTweak prompt when symlinking in dired
Lars Ingebrigtsen [Fri, 26 Jul 2019 09:12:03 +0000 (11:12 +0200)]
Tweak prompt when symlinking in dired

* lisp/dired-aux.el (dired-do-create-files): Fix prompt when
sym/hardlinking (bug#26870).

5 years agoDon't infloop in url.el when sending invalid basic auth
Lars Ingebrigtsen [Fri, 26 Jul 2019 08:55:39 +0000 (10:55 +0200)]
Don't infloop in url.el when sending invalid basic auth

* lisp/url/url-http.el (url-http-handle-authentication): Bail out
if the wrong credentials were passed to the server instead of
inflooping (bug#27022).

5 years agoFurther tweak dired-compress error message
Lars Ingebrigtsen [Fri, 26 Jul 2019 08:34:02 +0000 (10:34 +0200)]
Further tweak dired-compress error message

* lisp/dired-aux.el (dired-compress): The function is called on
both compression and uncompression, so be more ambiguous in the
error message.

5 years agoTweak the error message on dired compression failures
Lars Ingebrigtsen [Fri, 26 Jul 2019 08:31:59 +0000 (10:31 +0200)]
Tweak the error message on dired compression failures

* lisp/dired-aux.el (dired-compress): Fix error message.

5 years agoRemove debugging left in previous patch
Lars Ingebrigtsen [Fri, 26 Jul 2019 08:00:47 +0000 (10:00 +0200)]
Remove debugging left in previous patch

* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Provide completion for `ignore-error'.

5 years agoAdd new macro `ignore-error'
Lars Ingebrigtsen [Fri, 26 Jul 2019 07:58:23 +0000 (09:58 +0200)]
Add new macro `ignore-error'

* doc/lispref/control.texi (Handling Errors): Document
`ignore-error'.
* lisp/subr.el (ignore-error): New macro.

* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Provide completion for `ignore-error'.

5 years agoAlways include the number of unexpected results here too
Lars Ingebrigtsen [Fri, 26 Jul 2019 07:08:40 +0000 (09:08 +0200)]
Always include the number of unexpected results here too

* lisp/emacs-lisp/ert.el (ert-run-tests-batch): Always include the
number of unexpected results here as well.

5 years agoDon't run gpg when loading package.el
Lars Ingebrigtsen [Fri, 26 Jul 2019 06:30:24 +0000 (08:30 +0200)]
Don't run gpg when loading package.el

* lisp/emacs-lisp/package.el (package-check-signature): Don't run
gpg on startup, but just default to `allow-unsigned'.
(package-check-signature): New function to check whether a OpenPGP
configuration is found when `allow-unsigned'.
(package--check-signature-content, package--check-signature)
(package--download-one-archive, package-refresh-contents)
(package-install-from-archive): Use function instead of variable
throughout.
* doc/emacs/package.texi (Package Installation): Document this.

5 years agoMinor pdumper tweaks
Paul Eggert [Fri, 26 Jul 2019 06:17:52 +0000 (23:17 -0700)]
Minor pdumper tweaks

* src/pdumper.c (dump_hash_table_stable_p):
Bool vectors and bignums are also stable keys.
(decode_emacs_reloc, drain_reloc_list, Fdump_emacs_portable):
(dump_bitset_clear): Simplify use of memset.

5 years agoTweak the behaviour of thing-at-point--end-of-sexp
Lars Ingebrigtsen [Fri, 26 Jul 2019 05:59:41 +0000 (07:59 +0200)]
Tweak the behaviour of thing-at-point--end-of-sexp

* lisp/thingatpt.el (thing-at-point--end-of-sexp): Don't return
nil when called with point between two parentheses (bug#29499).

5 years agoDon't crash when parsing bad SVG data
Paul Eggert [Thu, 25 Jul 2019 21:29:22 +0000 (14:29 -0700)]
Don't crash when parsing bad SVG data

Derived from a patch by Pip Cet (Bug#36773#47).
* src/image.c (svg_load_image): Work around librsvg 2.40.13 bug.

5 years agoFix mouse-1 in profiler-report-mode-map
Lars Ingebrigtsen [Thu, 25 Jul 2019 20:00:59 +0000 (22:00 +0200)]
Fix mouse-1 in profiler-report-mode-map

* lisp/profiler.el (profiler-report-mode-map): Make `mouse-1'
respect `mouse-1-click-follows-link' (bug#30515).

5 years agoMake cl-destructuring-bind errors a bit more understandable
Lars Ingebrigtsen [Thu, 25 Jul 2019 19:56:17 +0000 (21:56 +0200)]
Make cl-destructuring-bind errors a bit more understandable

* lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Make errors
when giving the wrong number of arguments to the bindings form
more informational (bug#29345).

5 years agoDon't set marks on imap groups when there are no marks to set
Eric Abrahamsen [Thu, 25 Jul 2019 19:24:43 +0000 (12:24 -0700)]
Don't set marks on imap groups when there are no marks to set

* lisp/gnus/nnimap.el (nnimap-update-qresync-info): This code runs in
a fairly tight loop and shouldn't call all these functions if not
necessary.

5 years ago* lisp/progmodes/cc-awk.el (c-awk-var-num-ket-re): Remove /x80-/xff from it.
Alan Mackenzie [Thu, 25 Jul 2019 18:46:17 +0000 (18:46 +0000)]
* lisp/progmodes/cc-awk.el (c-awk-var-num-ket-re): Remove /x80-/xff from it.

5 years agoTweak the sizing of the shr placeholder images on HiDPI screens
Lars Ingebrigtsen [Thu, 25 Jul 2019 18:44:07 +0000 (20:44 +0200)]
Tweak the sizing of the shr placeholder images on HiDPI screens

* lisp/net/shr.el (shr-make-placeholder-image): We have already
computed the size of the placeholder including the scale, so force
the automatic scale to 1.  This will make the placeholder the
correct size on HiDPI screen.

5 years agoMake `C-u w' in the Gnus Summary buffer open externally
Lars Ingebrigtsen [Thu, 25 Jul 2019 18:11:33 +0000 (20:11 +0200)]
Make `C-u w' in the Gnus Summary buffer open externally

* doc/misc/gnus.texi (Article Commands): Document new behaviour.

* lisp/gnus/gnus-sum.el (gnus-shorten-url): New function.
(gnus-summary-browse-url): Change function to make `C-u' use the
external browser (as Gnus does when you hit URLs manually).  Don't
use an initial input.

5 years agoTweak previous footnote-mode patch
Lars Ingebrigtsen [Thu, 25 Jul 2019 17:38:17 +0000 (19:38 +0200)]
Tweak previous footnote-mode patch

* lisp/mail/footnote.el (footnote--local-advice): Ensure that the
variable really is local.

5 years agoFix setting fill-paragraph-function in footnote-mode
Lars Ingebrigtsen [Thu, 25 Jul 2019 17:35:17 +0000 (19:35 +0200)]
Fix setting fill-paragraph-function in footnote-mode

* lisp/mail/footnote.el (footnote--local-advice): New macro
refactored out from the code used to advice
footnote--adaptive-fill-function in footnote-mode.
(footnote-mode): Use it to advice both that variable and
fill-paragraph-function (the latter to avoid overwriting the major
mode's value) (bug#27775)
(footnote--fill-paragraph): Adjust calling convention now that
it's an :around advice.

5 years agoFix HarfBuzz support on MS-Windows
Eli Zaretskii [Thu, 25 Jul 2019 16:47:56 +0000 (19:47 +0300)]
Fix HarfBuzz support on MS-Windows

* src/w32uniscribe.c [HAVE_HARFBUZZ]: Include hb-ot.h.
(fn_hb_ot_font_set_funcs, hb_ot_font_set_funcs): Define.
(w32hb_get_font): Call hb_ot_font_set_funcs after creating the
hb_font_t object, to make the code work with versions of
HarfBuzz before 2.0.0.  Problem reported by Stephen Leake
<stephen_leake@stephe-leake.org>.  Solution suggested by
Khaled Hosny <dr.khaled.hosny@gmail.com> in
https://lists.freedesktop.org/archives/harfbuzz/2019-July/007412.html.

5 years agoFix many-compilations case of compilation-goto-in-progress-buffer
Lars Ingebrigtsen [Thu, 25 Jul 2019 16:44:13 +0000 (18:44 +0200)]
Fix many-compilations case of compilation-goto-in-progress-buffer

* lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
Fix thinko in initial version of the function in the
many-compilations case.

5 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 25 Jul 2019 16:33:37 +0000 (19:33 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

5 years agoFix recent commit in xref.el
Eli Zaretskii [Thu, 25 Jul 2019 16:32:25 +0000 (19:32 +0300)]
Fix recent commit in xref.el

* lisp/progmodes/xref.el (xref-file-name-display): Doc fix.

* etc/NEWS: Fix the corresponding entry.

5 years agoLeave note about removing gnus-start-news-server
Eric Abrahamsen [Thu, 25 Jul 2019 16:16:01 +0000 (09:16 -0700)]
Leave note about removing gnus-start-news-server

* lisp/gnus/gnus-int.el (gnus-nntp-server): Once this option is gone,
that whole function can go.

5 years agoStrip trailing whitespaces at the end of converted do block
Nobuyoshi Nakada [Mon, 22 Jul 2019 01:14:01 +0000 (10:14 +0900)]
Strip trailing whitespaces at the end of converted do block

* lisp/progmodes/ruby-mode.el (ruby-brace-to-do-end):
Strip trailing whitespaces at the end of converted do block
(bug#36756).

https://bugs.ruby-lang.org/issues/16014
https://github.com/syl20bnr/spacemacs/issues/12548

5 years agoClarify in the manual when to use function-key-map
Lars Ingebrigtsen [Thu, 25 Jul 2019 09:52:59 +0000 (11:52 +0200)]
Clarify in the manual when to use function-key-map

* doc/misc/efaq.texi (No Escape key):
* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard): Change back to
function-key-map from local-function-key-map, because these
bindings apply to all terminals.

* doc/lispref/keymaps.texi (Translation Keymaps): Clarify in what
circumstances you may still want to use function-key-map.

5 years ago* lisp/vc/vc.el (vc-log-search): Fix docstring (bug#36644).
Juri Linkov [Wed, 24 Jul 2019 23:21:28 +0000 (02:21 +0300)]
* lisp/vc/vc.el (vc-log-search): Fix docstring (bug#36644).

* lisp/vc/vc-git.el (vc-git-log-search): Add docstring.

5 years agoDo not treat ~nosuchuser as an absolute file name
Paul Eggert [Wed, 24 Jul 2019 21:28:13 +0000 (14:28 -0700)]
Do not treat ~nosuchuser as an absolute file name

Derived from Ken Brown’s patch (Bug#36502#97).
* doc/lispref/files.texi (Relative File Names):
* etc/NEWS: Document this.
* src/fileio.c (user_homedir): New function.
(Fexpand_file_name, file_name_absolute_p): Use it.
(search_embedded_absfilename): Simplify via file_name_absolute_p.
* test/src/fileio-tests.el (fileio-tests--no-such-user): New test.

5 years agoAdd `gnus-collect-urls-primary-text'
Sam Steingold [Wed, 24 Jul 2019 20:44:03 +0000 (16:44 -0400)]
Add `gnus-collect-urls-primary-text'

* lisp/gnus/gnus-sum.el (gnus-collect-urls-primary-text): Add defcustom.
(gnus-collect-urls): Use it.
(gnus-summary-browse-url): Mention it in the docstring.

5 years agoPort double-slash test to z/OS
Paul Eggert [Wed, 24 Jul 2019 18:28:48 +0000 (11:28 -0700)]
Port double-slash test to z/OS

* admin/merge-gnulib (GNULIB_MODULES): Add double-slash-root.
Emacs was already using this Gnulib module indirectly, so this
is merely noting that there is now a direct dependency.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/fileio.c (search_embedded_absfilename):
Use DOUBLE_SLASH_IS_DISTINCT_ROOT instead of (WINDOWSNT || CYGWIN).
Simplify.

5 years agoUpdate from Gnulib
Paul Eggert [Wed, 24 Jul 2019 17:56:57 +0000 (10:56 -0700)]
Update from Gnulib

This incorporates:
2019-07-16 update-copyright: Make it work again
* build-aux/config.guess, build-aux/update-copyright:
Copy from Gnulib.

5 years agoAvoid potential extensive verbosity in gnus-summary-browse-url
Sam Steingold [Wed, 24 Jul 2019 16:08:38 +0000 (12:08 -0400)]
Avoid potential extensive verbosity in gnus-summary-browse-url

* lisp/wid-edit.el (widget-move): Accept suppress-echo argument.
* lisp/gnus/gnus-sum.el (gnus-collect-urls): Use it.

5 years agoUse input-decode-map in the manuals
Lars Ingebrigtsen [Wed, 24 Jul 2019 12:37:28 +0000 (14:37 +0200)]
Use input-decode-map in the manuals

* doc/misc/edt.texi (Changes):
* doc/emacs/custom.texi (Terminal Init): Use input-decode-map
instead of local-function-key-map, according to Stefan Monnier.

5 years agoUse destructuring in filenotify backend handlers
Mattias Engdegård [Sat, 20 Jul 2019 17:45:51 +0000 (19:45 +0200)]
Use destructuring in filenotify backend handlers

* lisp/filenotify.el (file-notify--callback-inotify)
(file-notify--callback-kqueue, file-notify--callback-w32notify)
(file-notify--callback-gfilenotify, file-notify--callback): Use cl-defun.

5 years agoUse defstruct instead of list for filenotify pending-rename
Mattias Engdegård [Sat, 8 Jun 2019 17:58:41 +0000 (19:58 +0200)]
Use defstruct instead of list for filenotify pending-rename

* lisp/filenotify.el (file-notify--rename): New defstruct.
(file-notify--pending-rename): Changed type.
(file-notify--handle-event): Adapt to new type.

5 years agoRefactor the callback half of filenotify.el
Mattias Engdegård [Sun, 19 May 2019 09:45:38 +0000 (11:45 +0200)]
Refactor the callback half of filenotify.el

Split callback code into backend-specific and general parts.  Refactor
pending event, which is always a rename, to include relevant
information only.  General clean-up.

* lisp/filenotify.el (file-notify--pending-event): Rename.
(file-notify--event-watched-file, file-notify--event-file-name)
(file-notify--event-file1-name, file-notify--event-cookie): Remove.
(file-notify--rename, file-notify--expand-file-name)
(file-notify--callback-inotify, file-notify--callback-kqueue)
(file-notify--callback-w32notify, file-notify--callback-gfilenotify)
(file-notify--call-handler, file-notify--handle-event): New.
(file-notify-callback): Split general parts into
file-notify--call-handler and file-notify--handle-event.
(file-notify--add-watch-inotify, file-notify--add-watch-kqueue)
(file-notify--add-watch-w32notify)
(file-notify--add-watch-gfilenotify): Use new callbacks.

5 years agoDon't use internal filenotify function in test
Mattias Engdegård [Sun, 19 May 2019 15:57:19 +0000 (17:57 +0200)]
Don't use internal filenotify function in test

* test/lisp/filenotify-tests.el
(file-notify--test-file, file-notify--test-add-watch): New.
(file-notify--test-event-test, file-notify--test-event-handler)
(file-notify-test02-rm-watch, file-notify-test03-events)
(file-notify-test05-file-validity, file-notify-test07-many-events)
(file-notify-test08-backup, file-notify-test09-watched-file-in-watched-dir):
Avoid using the internal `file-notify--event-watched-file' so that it
can be removed from filenotify.el.
Instead, pass the file name to the callback as an extra argument;
use `file-notify--test-add-watch' instead of `file-notify-add-watch'.

5 years agoLocal definitions of accessors only used in test
Mattias Engdegård [Sun, 19 May 2019 14:06:20 +0000 (16:06 +0200)]
Local definitions of accessors only used in test

* test/lisp/filenotify-tests.el (file-notify--test-event-file)
(file-notify--test-event-file1, file-notify--test-event-test)
(file-notify--test-event-handler):
Define accessors locally, so that they can be removed from filenotify.el.

5 years agosoap-client: Do not double-encode duplicate types
Thomas Fitzsimmons [Wed, 24 Jul 2019 08:56:59 +0000 (04:56 -0400)]
soap-client: Do not double-encode duplicate types

* lisp/net/soap-client.el (soap-encode-xs-complex-type): Eliminate
duplicates from type hierarchy before encoding values.

5 years agosoap-client: Encode simple type attributes
Thomas Fitzsimmons [Wed, 24 Jul 2019 08:54:31 +0000 (04:54 -0400)]
soap-client: Encode simple type attributes

* lisp/net/soap-client.el (soap-encode-xs-simple-type-attributes):
Encode simple type attributes.

5 years agosoap-client: Allow attributes and a value
Thomas Fitzsimmons [Wed, 24 Jul 2019 08:45:07 +0000 (04:45 -0400)]
soap-client: Allow attributes and a value

* lisp/net/soap-client.el (soap-encode-xs-basic-type): Allow
attributes and a value to be specified in the same element.

5 years ago* lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Allow nil
Andreas Schwab [Wed, 24 Jul 2019 07:33:45 +0000 (09:33 +0200)]
* lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Allow nil
for modseq.

5 years agoCustomizable char-fold with char-fold-symmetric, char-fold-include (bug#35689)
Juri Linkov [Tue, 23 Jul 2019 20:27:28 +0000 (23:27 +0300)]
Customizable char-fold with char-fold-symmetric, char-fold-include (bug#35689)

* doc/emacs/search.texi (Lax Search): Document
char-fold-symmetric, char-fold-include, char-fold-exclude.

* lisp/char-fold.el (char-fold--default-include)
(char-fold--default-exclude, char-fold--default-symmetric)
(char-fold--previous): New defconsts.
(char-fold-include, char-fold-exclude, char-fold-symmetric):
New defcustoms.
(char-fold-make-table): Use them.
(char-fold-update-table): New function called at top-level.

* test/lisp/char-fold-tests.el (char-fold--test-no-match-exactly)
(char-fold--permutation): New functions.
(char-fold--test-without-customization)
(char-fold--test-with-customization): New tests.

5 years agoMerge pdumper.c and alloc.c builtin symbol tests
Paul Eggert [Tue, 23 Jul 2019 18:18:16 +0000 (11:18 -0700)]
Merge pdumper.c and alloc.c builtin symbol tests

* src/alloc.c (c_symbol_p): Move from here ...
* src/lisp.h (c_symbol_p): ... to here, and make it more portable
to hypothetical platforms where pointers are wider than ptrdiff_t.
* src/pdumper.c (dump_builtin_symbol_p): Use c_symbol_p.

5 years agoMake "Compiling" in the mode line a clickable command
Lars Ingebrigtsen [Tue, 23 Jul 2019 17:49:48 +0000 (19:49 +0200)]
Make "Compiling" in the mode line a clickable command

* lisp/progmodes/compile.el (compilation-goto-in-progress-buffer):
New command.
(compilation-in-progress): Don't put the in-progress mode-line
marker among the minor modes (because it's not a minor mode), and
add a command that allows you to switch to the in-progress
compilation buffer (bug#27252).

5 years agoFollow decomposition chains when constructing char-fold-table
Robert Pluim [Mon, 22 Jul 2019 18:27:59 +0000 (20:27 +0200)]
Follow decomposition chains when constructing char-fold-table

* lisp/char-fold.el (char-fold-make-table): Decompose the
decomposition of each character, adding equivalences to the original
character, until no more decompositions are left.

5 years agoRefer to local-function-key-map in various manuals
Lars Ingebrigtsen [Tue, 23 Jul 2019 17:15:10 +0000 (19:15 +0200)]
Refer to local-function-key-map in various manuals

* doc/misc/viper.texi (Key Bindings):
* doc/misc/efaq.texi (X key translations for Emacs)
(No Escape key):
* doc/misc/edt.texi (Changes):
* doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
* doc/emacs/custom.texi (Terminal Init): Refer to
local-function-key-map instead of function-key-map, since the
latter isn't supposed to be changed (bug#27490).

5 years agoImprove pdumper doc; say unexec is deprecated
Paul Eggert [Tue, 23 Jul 2019 16:19:09 +0000 (09:19 -0700)]
Improve pdumper doc; say unexec is deprecated

Say that pdumping cannot redump unless -batch is used.  Say that
the traditional unexec dumping method is by default not available,
and is deprecated.  Don't call dump files "portable", as dump files
are not any more portable than the Emacs executables themselves.
Just call them "dump files".  Similar, prefer "portable dumper"
(since the dumper code is portable) to "portable dumping" (since
the dump file is not).  Be more systematic about calling them
"dump files" instead of "dumped images" or whatnot.

5 years ago* src/fns.c (hashfn_user_defined): Make sure we always return a fixnum.
Stefan Monnier [Tue, 23 Jul 2019 12:29:21 +0000 (08:29 -0400)]
* src/fns.c (hashfn_user_defined): Make sure we always return a fixnum.

5 years agoFix problems in CC Mode with " being entered into a comment at EOB.
Alan Mackenzie [Tue, 23 Jul 2019 09:55:49 +0000 (09:55 +0000)]
Fix problems in CC Mode with " being entered into a comment at EOB.

* lisp/progmodes/cc-engine.el (c-full-lit-near-cache): Amend the definition
such that an element's END element will be nil if the pertinent literal is
open at EOB.
(c-full-pp-to-literal): Before setting the aforementioned END element, check
that we're no longer in a literal.  (c-literal-limits): When
c-full-pp-to-literal returns a list with a nil END element, replace this by
(point-max) to keep the interface of c-literal-limits unchanged.

* lisp/progmodes/cc-mode.el (c-after-change-mark-abnormal-strings): Having
found a string quote, check it is not inside an unterminated comment (i.e. one
at EOB).

5 years agoSupport "%x" etc. formats on more floats
Paul Eggert [Tue, 23 Jul 2019 08:42:32 +0000 (01:42 -0700)]
Support "%x" etc. formats on more floats

* doc/lispref/strings.texi (Formatting Strings): Document this.
* src/editfns.c (styled_format): Support %o, %x, and %X on
finite floats less than zero or greater than UINTMAX_MAX.
* test/src/editfns-tests.el (format-%x-large-float)
(read-large-integer, format-%o-negative-float):
Adjust tests to match extended behavior.
Rename the latter test from format-%o-invalid-float,
since the float is no longer invalid.

* test/src/editfns-tests.el (format-%x-large-float)
(read-large-integer): Test this.

5 years agoTweak performance of cmpfn_profiler
Paul Eggert [Tue, 23 Jul 2019 05:09:05 +0000 (22:09 -0700)]
Tweak performance of cmpfn_profiler

* src/profiler.c (cmpfn_profiler):
Improve performance when VECTORP (bt1) && EQ (bt1, bt2).

5 years agoAvoid overexposing fixnums for hash codes
Paul Eggert [Tue, 23 Jul 2019 04:27:33 +0000 (21:27 -0700)]
Avoid overexposing fixnums for hash codes

Following a suggestion by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00530.html
* doc/lispref/hash.texi (Creating Hash, Defining Hash):
* src/fns.c (Fsxhash_eq, Fsxhash_eql, Fsxhash_equal, Fmake_hash_table):
Don’t insist that hash codes be fixnums, reverting
the recent doc changes to the contrary.
* src/bytecode.c (exec_byte_code): Special-case only the eq case,
as the others aren’t worth tuning now that we treat bignum hashes
like fixnums.
* src/fns.c (hashfn_user_defined): If the hash code is a bignum,
reduce its hash down to a fixnum.

5 years agoDocument normal usage in ibuffer.el
Stefan Kangas [Sun, 30 Jun 2019 06:31:21 +0000 (08:31 +0200)]
Document normal usage in ibuffer.el

* lisp/ibuffer.el (Commentary): Document normal usage.  (Bug#5608)
Remove redundant :group args.

5 years agoDo not pdump user-defined hashtabs
Paul Eggert [Tue, 23 Jul 2019 01:33:39 +0000 (18:33 -0700)]
Do not pdump user-defined hashtabs

* src/pdumper.c (dump_hash_table_stable_p):
Signal an error if a hash table has user-defined tests (Bug#36769).
* src/fns.c (hashfn_user_defined): Now extern.

5 years agoKeep track of consing while GC’s inhibited
Paul Eggert [Tue, 23 Jul 2019 01:05:31 +0000 (18:05 -0700)]
Keep track of consing while GC’s inhibited

* src/alloc.c (allow_garbage_collection): Do not discard the count
of consing that occurred while GC was inhibited.
Problem and initial fix reported by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00523.html

5 years agoAvoid byte compiler warning for subr.el
Pip Cet [Mon, 22 Jul 2019 20:09:42 +0000 (20:09 +0000)]
Avoid byte compiler warning for subr.el

* lisp/subr.el (number-sequence): Simplify to avoid byte compiler warning.

5 years agoRemove no-longer-needed integer overflow code
Paul Eggert [Mon, 22 Jul 2019 23:26:27 +0000 (16:26 -0700)]
Remove no-longer-needed integer overflow code

* lisp/calculator.el (calculator-number-to-string):
Use truncate, not calculator-truncate, since integer
overflow cannot occur here.
* lisp/calendar/cal-persia.el (calendar-persian-year-from-absolute):
* lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
* lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
(nnmaildir--new-number):
* lisp/scroll-bar.el (scroll-bar-scale):
* lisp/simple.el (beginning-of-buffer, end-of-buffer):
Simplify, now that integer overflow cannot occur.

5 years agoAdjust regexp for parsing IMAP header response
Eric Abrahamsen [Mon, 22 Jul 2019 17:00:06 +0000 (10:00 -0700)]
Adjust regexp for parsing IMAP header response

* lisp/gnus/nnimap.el (nnimap-transform-headers): The first header
might have no value, or a continuation header might start with a
newline.