Michael Albinus [Sat, 23 Mar 2019 08:55:04 +0000 (09:55 +0100)]
Fix Bug#34943
* lisp/files-x.el (cl-lib): Require when compiling.
(hack-connection-local-variables): Regard connection-local
variables as safe. (Bug#34943)
* lisp/shell.el (shell): Use `with-connection-local-variables' for
the whole code block. (Bug#34943)
* lisp/net/tramp-adb.el (tramp-connection-local-safe-shell-file-names):
Do not set values.
* lisp/net/tramp-integration.el
(tramp-connection-local-safe-shell-file-names): Remove.
(shell-file-name, shell-command-switch): Do not add safe-local-variable
property.
* lisp/net/tramp.el (tramp-handle-shell-command): Use proper
buffer name.
* test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name):
Tag it :unstable.
Eli Zaretskii [Sat, 23 Mar 2019 08:31:06 +0000 (10:31 +0200)]
Avoid compiler warning in w32proc.c
* src/w32proc.c (w32_executable_type): Avoid compiler warnings
about potential NULL pointer dereferencing.
Michael R. Mauger [Sat, 23 Mar 2019 02:28:01 +0000 (22:28 -0400)]
* lisp/progmodes/sql.el Bug#25424
(sql-end-of-statement): default terminator as semicolon.
Stephen Leake [Fri, 22 Mar 2019 23:14:50 +0000 (16:14 -0700)]
Fix bug in delete-indentation when region is inactive
* test/lisp/simple-tests.el: Add tests for delete-indentation.
(simple-delete-indentation-no-region): Works with no region.
(simple-delete-indentation-inactive-region): Was broken with inactive
region; now fixed.
* lisp/simple.el (delete-indentation): Check (use-region-p) before using BEG.
Eric Abrahamsen [Thu, 26 Apr 2018 23:26:27 +0000 (16:26 -0700)]
Change Gnus hash tables into real hash tables
Gnus has used obarrays as makeshift hash tables for groups: group
names are coerced to unibyte and interned in custom obarrays, and
their symbol-value set to whatever value needs to be stored. This
patch replaces those obarrays with actual hash tables.
* lisp/gnus/gnus-util.el (gnus-intern-safe, gnus-create-hash-size):
Remove functions.
(gnus-make-hashtable): Change to return a real hash table.
(gnus-text-property-search): Utility similar to `text-property-any',
but compares on `equal'. Needed because the 'gnus-group text
property is now a string.
* lisp/gnus/gnus.el (gnus-gethash, gnus-gethash-safe, gnus-sethash):
Remove macros.
(gnus-group-list): New variable holding all group names as an
ordered list. Used because `gnus-newsrc-hashtb' used to preserve
`gnus-newsrc-alist' ordering, but now doesn't.
* lisp/gnus/nnmaildir.el (nnmaildir--servers): Change from obarray to
alist.
(nnmaildir--up2-1): Remove function.
* lisp/thingatpt.el (thing-at-point-newsgroup-p): This was making use
of Gnus obarrays, replace with a cond that can handle many different
possibilities.
* lisp/gnus/gnus-bcklg.el (gnus-backlog-articles): Remove
gnus-backlog-hashtb, which wasn't doing anything. Just keep a list
of ident strings in gnus-backlog-articles.
(gnus-backlog-setup): Delete unnecessary function.
(gnus-backlog-enter-article, gnus-backlog-remove-oldest-article,
gnus-backlog-remove-article, gnus-backlog-request-article): Alter
calls accordingly.
* lisp/gnus/gnus-dup.el (gnus-duplicate-list-max-length): Rename from
`gnus-duplicate-list-length', for accuracy.
* lisp/gnus/gnus-start.el (gnus-active-to-gnus-format,
gnus-groups-to-gnus-format, gnus-newsrc-to-gnus-format): Read group
names as strings.
(gnus-gnus-to-quick-newsrc-format): Write `gnus-newsrc-alist' using
the ordering in `gnus-group-list'.
* lisp/gnus/gnus-agent.el:
* lisp/gnus/gnus-async.el:
* lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-score.el:
* lisp/gnus/gnus-sum.el:
* lisp/gnus/gnus-topic.el:
* lisp/gnus/message.el:
* lisp/gnus/mml.el:
* lisp/gnus/nnagent.el:
* lisp/gnus/nnbabyl.el:
* lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el: In all files, change obarrays to hash-tables,
and swap `gnus-sethash' for `puthash', `gnus-gethash' for `gethash',
`mapatoms' for `maphash', etc.
* test/lisp/gnus/gnus-test-headers.el (gnus-headers-make-dependency-table,
gnus-headers-loop-dependencies): New tests to make sure we're
building `gnus-newsgroup-dependencies' correctly.
Michael Albinus [Fri, 22 Mar 2019 13:38:06 +0000 (14:38 +0100)]
Fix Bug#24394, Bug#34172
* lisp/subr.el (process-file-shell-command):
Use `with-connection-local-variables'. Do not set "/bin/sh" for
remote buffers, trust settings of `shell-file-name'.
* lisp/net/tramp-adb.el (tramp-methods) <adb>:
* lisp/net/tramp-smb.el (tramp-methods) <smb>:
Remove `tramp-remote-shell' and `tramp-remote-shell-args'.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch)
(tramp-maybe-open-connection): Use proper read syntax for function
names.
* lisp/net/tramp.el (tramp-handle-shell-command): Do not use shell
file names from `tramp-methods'.
Respect `async-shell-command-buffer'. (Bug#24394, Bug#34172)
Use `start-file-process-shell-command' and `process-file-shell-command'.
* test/lisp/net/tramp-tests.el (tramp-test32-shell-command):
Let it run partly for tramp-adb.
Nicolas Petton [Fri, 22 Mar 2019 09:06:42 +0000 (10:06 +0100)]
Fix the error message when modifying maps in-place (Bug#34941)
* lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the
error.
(map-put!): When signaling map-no-inplace error, output the map that
cannot be updated inplace.
Eli Zaretskii [Fri, 22 Mar 2019 08:59:11 +0000 (11:59 +0300)]
Minor fixes for the last change
* lisp/simple.el (delete-indentation):
* doc/emacs/indent.texi (Indentation Commands):
* etc/NEWS: Fix last change. (Bug#34796)
Łukasz Stelmach [Fri, 15 Mar 2019 21:06:16 +0000 (22:06 +0100)]
If the region is active, join all the lines it spans
* lisp/simple.el (delete-indentation): Join lines in the active region.
(Bug#34796)
* doc/misc/org.texi: Describe the arguments of delete-indentation.
* etc/NEWS: Mention region support in delete-indentation.
Eli Zaretskii [Fri, 22 Mar 2019 08:02:46 +0000 (11:02 +0300)]
Revert "Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s"""
This reverts commit
093d3e78d21d3d6c718997368ef4b31f9884401c,
which reverted
ee7ad83f20903208404a84b58b7a478b62924570,
which reverted
3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
Federico Tedin [Wed, 13 Mar 2019 00:34:31 +0000 (21:34 -0300)]
Correctly handle packages without description in describe-package
* lisp/emacs-lisp/package.el (describe-package-1): Do not call insert
if package description is nil (Bug#34147).
Federico Tedin [Tue, 12 Mar 2019 23:06:49 +0000 (20:06 -0300)]
Make edebug-eval-expression support code completion
* lisp/emacs-lisp/edebug.el (edebug-eval-expression): Use
read--expression instead of read-from-minibuffer. (Bug#34065)
Stefan Monnier [Fri, 22 Mar 2019 03:55:28 +0000 (23:55 -0400)]
Fix misuses of NULL when talking about the NUL character
* lisp/subr.el (inhibit-null-byte-detection): Make it an obsolete alias.
* src/coding.c (setup_coding_system): Use new name.
(detect_coding): Rename null_byte_found => nul_byte_found.
(detect_coding_system): Use new name.
Rename null_byte_found => nul_byte_found.
(Fdefine_coding_system_internal): Use new name.
(syms_of_coding): Rename inhibit-null-byte-detection to
inhibit-nul-byte-detection.
* src/w16select.c (get_clipboard_data): null_char => nul_char.
* src/json.c (check_string_without_embedded_nuls): Rename from
check_string_without_embedded_nulls.
(Fjson_parse_string): Adjust accordingly.
* src/coding.h (enum define_coding_undecided_arg_index)
(enum coding_attr_index): ...null_byte... => ...nul_byte....
* lisp/info.el (info-insert-file-contents, Info-insert-dir):
* lisp/international/mule.el (define-coding-system):
* lisp/vc/vc-git.el (vc-git--call):
* doc/lispref/nonascii.texi (Lisp and Coding Systems): Use the new name.
Basil L. Contovounesios [Thu, 21 Mar 2019 21:50:12 +0000 (21:50 +0000)]
; Eval overlooked lambda in recent Eshell changes
* lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal lambda
overlooked in 2019-03-20T12:51:31-04:00!monnier@iro.umontreal.ca.
Nicolas Petton [Thu, 21 Mar 2019 20:10:15 +0000 (21:10 +0100)]
* etc/NEWS: Document seq-contains-p.
Nicolas Petton [Thu, 21 Mar 2019 20:07:55 +0000 (21:07 +0100)]
* lisp/emacs-lisp/seq.el (seq-difference): Inverse a conditional for clarity.
Nicolas Petton [Wed, 20 Mar 2019 20:44:01 +0000 (21:44 +0100)]
New seq-contains-p predicate (Bug#34852)
* lisp/emacs-lisp/seq.el (seq-contains-p): New predicate function. It
is a replacement for seq-contains which cannot be used as a predicate
when a sequence contains nil values as it returns the element found.
(seq-contains): Make obsolete.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-contains-p):
(test-seq-intersection-with-nil, test-seq-set-equal-p-with-nil,
test-difference-with-nil): Add regression tests.
* doc/lispref/sequences.texi (Sequence Functions): Document
seq-contains-p.
Eli Zaretskii [Thu, 21 Mar 2019 19:29:52 +0000 (21:29 +0200)]
Revert "Revert "Rely on conservative stack scanning to find "emacs_value"s""
This reverts commit
ee7ad83f20903208404a84b58b7a478b62924570.
There was no consensus on reverting
3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a, so doing that will have to
wait until the discussion ends.
Philipp Stephani [Fri, 21 Sep 2018 17:28:08 +0000 (19:28 +0200)]
Revert "Rely on conservative stack scanning to find "emacs_value"s"
This reverts commit
3eb93c07f7a60ac9ce8a16f10c3afd5a3a31243a.
There was no consensus for that commit, see
https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00150.html.
Also, reverting this commit should fix Bug#31238.
Eli Zaretskii [Thu, 21 Mar 2019 15:55:16 +0000 (17:55 +0200)]
Avoid duplicate entries in process-environment after re-dumping
* src/pdumper.c (Fdump_emacs_portable): Reset
process-environment to nil. (Bug#34936)
Stefan Monnier [Thu, 21 Mar 2019 12:27:39 +0000 (08:27 -0400)]
* doc: Recommend putting '-' as last char in Emacs charset regexps
* doc/lispref/searching.texi (Regexp Special):
* doc/emacs/search.texi (Regexps): Recommend - as last char in [...].
Glenn Morris [Wed, 20 Mar 2019 20:47:07 +0000 (13:47 -0700)]
Merge from origin/emacs-26
24b6e6e (origin/emacs-26) * etc/AUTHORS: Update.
2f22a17 * ; ChangeLog.3 update
0f523de Improve indexing of the user manual
bd5795e Fix url-copy-file arglist
eaa188a ; * admin/notes/bugtracker: Minor additions and updates.
5ed05fb Fix downloading updates for packages with non-ASCII descriptions
e9f2d1f * etc/NEWS: Remove temporary markers.
24fc133 * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -...
0f325d1 Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
bc75589 Document restrictions when setting window margins, fringes or...
cc4cebf More improvements for 'read-buffer's doc string
d026d9a * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for E...
5dbf08b * src/minibuf.c (Fread_buffer): Minor doc fixes. (Bug#34749)
# Conflicts:
# etc/NEWS
# lisp/url/url-handlers.el
Stefan Monnier [Wed, 20 Mar 2019 16:51:31 +0000 (12:51 -0400)]
Eshell: Mostly cosmetic changes to be more explicit about dynbind
* lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal the lambdas.
(eshell-expand-multiple-dots): Fix ^+$ => \`+\' in the regexp.
* lisp/eshell/esh-cmd.el (eshell-this-command-hook): Declare as
dynamically scoped.
(eshell-trap-errors): Use `mapc funcall` since this can't have
global/local settings like a true hook.
(eshell-do-eval): Split the `let` case from the rest so we can use
`cl-progv` rather than `eval` for it.
(eshell/which): Use `fboundp` test instead of ugly
gymnastics to try and hide the function call from the compiler.
* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Reveal the lambdas.
(eshell-parse-variable-ref): Use backquotes.
Nicolas Petton [Wed, 20 Mar 2019 16:36:29 +0000 (17:36 +0100)]
* etc/AUTHORS: Update.
Nicolas Petton [Wed, 20 Mar 2019 16:35:43 +0000 (17:35 +0100)]
* ; ChangeLog.3 update
Stefan Monnier [Wed, 20 Mar 2019 16:30:53 +0000 (12:30 -0400)]
* lisp/pcomplete.el: Improve heuristic to rely less on c-t-subvert.
(pcomplete-completions-at-point): Try and take \ escapes into account
when guessing the beginning of the text we're completing.
Paul Eggert [Wed, 20 Mar 2019 16:23:05 +0000 (09:23 -0700)]
Fix pcomplete typo in recent regex typo fix
Problem reported by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00682.html
* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
Restore the trailing backslash (but two of them this time).
Stefan Monnier [Wed, 20 Mar 2019 14:52:30 +0000 (10:52 -0400)]
* test/lisp/minibuffer-tests.el (completion-table-subvert-test): New test
Stefan Monnier [Wed, 20 Mar 2019 13:58:28 +0000 (09:58 -0400)]
* lisp/minibuffer.el (completion-table-subvert): Fix typo from rev
5697ca55cb
Mattias Engdegård [Wed, 20 Mar 2019 09:37:36 +0000 (10:37 +0100)]
Repair eshell-query-kill-processes
* lisp/eshell/esh-proc.el (eshell-query-kill-processes):
Remove invalid `format-message' call; `eshell-round-robin-kill' wants
just the format string.
Eli Zaretskii [Wed, 20 Mar 2019 09:29:04 +0000 (11:29 +0200)]
Improve indexing of the user manual
* doc/emacs/search.texi (Word Search): Improve indexing of
"M-s M-w".
Eli Zaretskii [Wed, 20 Mar 2019 09:21:54 +0000 (11:21 +0200)]
Fix defining keyboard macros in CUA mode
* lisp/emulation/cua-base.el (cua--prefix-override-replay):
Push the key to replace wrapped in '(no-record . KEY)', so
that it doesn't get recorded more than once. (Bug#34901)
* src/keyboard.c (read_char): Handle the '(no-record . KEY)'
event by substituting KEY for it.
(syms_of_keyboard) <no-record>: New DEFSYM.
<unread-command-events>: Update the doc string.
* doc/lispref/commands.texi (Event Input Misc): Document the
'(no-record . EVENT)' form.
Stefan Monnier [Wed, 20 Mar 2019 03:41:20 +0000 (23:41 -0400)]
* lisp/eshell/em-cmpl.el: Use completion-at-point i.s.o pcomplete
(eshell-cmpl-initialize): Refrain from binding to the `tab` key,
which prevents the tab -> TAB remapping.
Use completion-at-point and completion-help-at-point.
(eshell-complete-commands-list): Use `fboundp` test instead of ugly
gymnastics to try and hide the function call from the compiler.
(eshell-pcomplete): Make it an alias of completion-at-point.
* doc/misc/eshell.texi (Completion): Change wording to reflect
different default behavior.
Paul Eggert [Wed, 20 Mar 2019 01:45:17 +0000 (18:45 -0700)]
More minor regex cleanup
Problems reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00643.html
plus a few others that I noticed.
* lisp/auth-source-pass.el (auth-source-pass--parse-data):
* lisp/org/org-datetree.el (org-datetree--find-create):
* lisp/org/org-pcomplete.el (org-thing-at-point):
* lisp/progmodes/js.el (js--end-of-do-while-loop-p):
* lisp/textmodes/sgml-mode.el:
(sgml-electric-tag-pair-before-change-function):
* lisp/textmodes/texnfo-upd.el (texinfo-menu-copy-old-description):
* lisp/url/url-http.el (url-http-parse-response):
Fix regular expression and similar syntax.
Juri Linkov [Tue, 19 Mar 2019 21:52:33 +0000 (23:52 +0200)]
* lisp/vc/vc.el (vc-diff-build-argument-list-internal): Add arg fileset.
(vc-root-version-diff): Set vc-diff-build-argument-list-internal's
optional arg 'fileset' to the root directory. (Bug#34532)
Juri Linkov [Tue, 19 Mar 2019 21:43:18 +0000 (23:43 +0200)]
* lisp/frame.el (frame-monitor-attributes): Fall back to the last monitor
when frames monitor attributes is still uninitialized. (Bug#34680)
Juri Linkov [Tue, 19 Mar 2019 21:32:48 +0000 (23:32 +0200)]
* lisp/frame.el (make-frame-on-monitor): Don't set height and width.
Don't use x-parse-geometry. Delete nil from completions (Bug#34516)
Paul Eggert [Tue, 19 Mar 2019 19:37:13 +0000 (12:37 -0700)]
Use ‘const’ to clarify GC marking
Add ‘const’ to make the GC marking code a bit clearer.
This can also help the compiler in some cases, I think because
GCC can now determine more often that the value of a static C
variable can be cached when its address is now converted to
‘Lisp Object const *’ before escaping.
* src/alloc.c (staticvec, mark_maybe_objects, mark_memory)
(mark_stack, staticpro, mark_object_root_visitor)
(garbage_collect_1):
* src/pdumper.c (dump_ptr_referrer, dump_emacs_reloc_to_lv)
(dump_emacs_reloc_to_emacs_ptr_raw, dump_root_visitor):
* src/lisp.h (vcopy, struct gc_root_visitor):
* src/sysdep.c (stack_overflow):
* src/thread.c (mark_one_thread):
* src/thread.h (struct thread_state):
Use pointer-to-const instead of plain pointer in some
GC-related places where either will do.
Mattias Engdegård [Tue, 12 Mar 2019 13:39:47 +0000 (14:39 +0100)]
Disallow reversed char ranges in `rx'
(any "a-Z0-9") generated "[0-9]", and (any (?9 . ?0)) generated "[9-0]".
Reversed ranges are either mistakes or abuse. Neither should be allowed.
etc/NEWS: Explain the change.
lisp/emacs-lisp/rx.el (rx): Document.
(rx-check-any-string, rx-check-any): Add error checks for reversed ranges.
test/lisp/emacs-lisp/rx-tests.el (rx-char-any-range-bad): New test.
Basil L. Contovounesios [Tue, 19 Mar 2019 16:00:18 +0000 (16:00 +0000)]
Fix url-copy-file arglist
* lisp/url/url-handlers.el: Silence byte-compiler.
(url-copy-file): Add 6th argument following change to copy-file in
2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)
Eli Zaretskii [Tue, 19 Mar 2019 12:26:14 +0000 (14:26 +0200)]
; * admin/notes/bugtracker: Minor additions and updates.
Eli Zaretskii [Tue, 19 Mar 2019 11:16:50 +0000 (13:16 +0200)]
Fix downloading updates for packages with non-ASCII descriptions
* lisp/emacs-lisp/package.el (package--download-one-archive):
Make sure archive contents are written using UTF-8 encoding.
(Bug#34909)
(list-packages): Set buffer's encoding to UTF-8.
Paul Eggert [Tue, 19 Mar 2019 00:44:21 +0000 (17:44 -0700)]
Remove buggy regexp use in comint-output-filter
This reverts commit 2012-07-02T16:18:02!monnier@iro.umontreal.ca
which perhaps could be rethought and recommitted, and perhaps
it’s no longer needed now that comint-use-prompt-regexp
is almost always nil.
* lisp/comint.el (comint-output-filter): Don’t try to skip
repeated prompts, since comint-prompt-regexp typically begins
with "^" and the resulting "^^" in the regular expression does
not have the desired effect. Noted by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00380.html
Paul Eggert [Tue, 19 Mar 2019 00:02:01 +0000 (17:02 -0700)]
Fix more regular expression typos
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00548.html
except that I didn’t address the issues involving Hebrew,
or involving comint-prompt-regexp.
* lisp/align.el (align-rules-list, align-exclude-rules-list):
* lisp/auth-source-pass.el (auth-source-pass--parse-secret)
(auth-source-pass--parse-data):
* lisp/cedet/data-debug.el (data-debug-next)
(data-debug-prev, data-debug-expand-or-contract):
* lisp/comint.el (comint-within-quotes):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
* lisp/emulation/viper-ex.el (ex-cmd-complete):
* lisp/gnus/gnus-cite.el (gnus-message-search-citation-line):
* lisp/gnus/nnir.el (nnir-imap-end-of-input):
* lisp/mail/mail-extr.el (mail-extr-all-letters):
* lisp/minibuffer.el (minibuffer-maybe-quote-filename):
* lisp/nxml/rng-nxml.el (rng-complete-tag)
(rng-complete-end-tag, rng-complete-attribute-name):
* lisp/obsolete/vip.el (vip-get-ex-token, vip-get-ex-pat):
* lisp/org/org-pcomplete.el (org-thing-at-point):
* lisp/org/org.el (org-set-tags)
(org-increase-number-at-point)
(org-fill-line-break-nobreak-p):
* lisp/pcomplete.el (pcomplete-parse-comint-arguments):
* lisp/progmodes/ada-mode.el (ada-compile-goto-error):
* lisp/progmodes/cperl-mode.el (cperl-highlight-charclass)
(cperl-find-pods-heres, cperl-not-bad-style-regexp)
(cperl-regext-to-level-start):
* lisp/progmodes/ebnf-yac.el (ebnf-yac-skip-spaces):
* lisp/progmodes/flymake-proc.el (flymake-proc-master-tex-init):
* lisp/progmodes/flymake.el (flymake-diag-region):
* lisp/progmodes/fortran.el (fortran-current-line-indentation):
* lisp/progmodes/idlw-complete-structtag.el:
(idlwave-complete-structure-tag):
* lisp/progmodes/idlwave.el (idlwave-complete-sysvar-or-tag):
* lisp/progmodes/prolog.el (prolog-pred-end)
(prolog-clause-info):
* lisp/progmodes/ruby-mode.el (ruby-forward-sexp)
(ruby-backward-sexp):
* lisp/progmodes/verilog-mode.el (verilog-repair-open-comma):
* lisp/term.el (term-within-quotes):
* lisp/textmodes/bib-mode.el (bib-capitalize-title-stop-words):
* lisp/textmodes/refbib.el (r2b-capitalize-title-stop-words):
* lisp/textmodes/reftex-parse.el (reftex-nth-arg):
* lisp/textmodes/rst.el (rst-svn-rev):
* lisp/url/url-http.el (url-http-parse-response):
* test/lisp/progmodes/f90-tests.el (f90-test-bug3730):
Fix regular expression typos.
Nicolas Petton [Mon, 18 Mar 2019 21:49:50 +0000 (22:49 +0100)]
* etc/NEWS: Remove temporary markers.
Stefan Monnier [Mon, 18 Mar 2019 18:57:10 +0000 (14:57 -0400)]
* src/fileio.c: Don't convert \r to \n just because of C-x $
(choose_write_coding_system): Setup the \r to \n conversion only if
selective-display is t.
Stefan Monnier [Mon, 18 Mar 2019 18:25:49 +0000 (14:25 -0400)]
* lisp/locate.el (locate-mode): Setup invisibility for Dired commands
Also, use lexical-binding.
Stefan Monnier [Mon, 18 Mar 2019 12:09:42 +0000 (08:09 -0400)]
Ebrowse: Use invisibility-spec instead of selective-display
* lisp/progmodes/ebrowse.el: Use lexical-binding.
(ebrowse-tree-mode): Set invisibility-spec instead of selective-display.
(ebrowse--hidden-p, ebrowse--hide, ebrowse--unhide): New functions.
(ebrowse-expand-all, ebrowse-unhide-base-classes, ebrowse-hide-line)
(ebrowse-mouse-1-in-tree-buffer): Use them.
(ebrowse-output): Remove macro, use with-silent-modifications instead.
(ebrowse-save-selective): Remove macro, not needed any more.
(ebrowse-trim-string, ebrowse-read, ebrowse-collapse-fn):
No need to pay attention to \r.
(ebrowse-files-list): Use push.
(ebrowse-view/find-file-and-search-pattern): Use add-hook here...
(ebrowse-find-pattern): ...and remove-hook here.
(ebrowse-view/find-position): Use add/remove-hook.
Stefan Monnier [Sun, 17 Mar 2019 17:35:20 +0000 (13:35 -0400)]
Dired: Use invisibility-spec instead of selective-display
* lisp/dired.el (dired-subdir-regexp): No need to pay attention to \r.
(dired-remember-hidden): Use pcase-dolist and dired--hidden-p.
(dired-mode): Set invisibility-spec instead of selective-display.
(dired--hidden-p, dired--hide, dired--unhide, dired--find-hidden-pos):
New functions.
(dired-move-to-end-of-filename): Use dired--hidden-p.
(dired-next-subdir): No need to pay attention to \r.
(dired-fun-in-all-buffers): Use push.
* lisp/dired-aux.el (dired-unhide-subdir, dired-hide-subdir, dired-hide-all):
Use the new functions and with-silent-modifications.
(dired-add-entry): Use dired--hidden-p.
(dired-goto-subdir): No need to pay attention to \r.
(dired-hide-check): Remove.
(dired-subdir-hidden-p): Use dired--hidden-p.
(dired-do-find-regexp): Use file-name-as-directory.
Stefan Monnier [Sun, 17 Mar 2019 16:16:59 +0000 (12:16 -0400)]
* doc/lispref/display.texi (Selective Display): Declare it deprecated
Eli Zaretskii [Sun, 17 Mar 2019 15:49:37 +0000 (17:49 +0200)]
Fix 'define-charset' after dumping with pdumper
* src/charset.h:
* src/charset.c (charset_table_used): Now static.
(charset_table_size): Now extern.
* src/pdumper.c (dump_charset_table): Dump the entire
charset_table, not just its used slots. (Bug#34826)
Stefan Monnier [Sun, 17 Mar 2019 00:11:45 +0000 (20:11 -0400)]
* lisp/subr.el (combine-change-calls-1): Don't combine syntax-ppss flushes
Alexander Gramiak [Sat, 16 Mar 2019 17:46:39 +0000 (11:46 -0600)]
Define macros to abstract support for external menu/tool-bars
* src/lisp.h (HAVE_EXT_MENU_BAR)
(HAVE_EXT_TOOL_BAR): Define.
*src/dispnew.c:
*src/frame.c:
*src/frame.h:
*src/keyboard.c:
*src/menu.c:
*src/menu.h:
*src/window.c:
*src/window.h:
*src/xdisp.c:
*src/xfns: Use the new macros.
Paul Eggert [Sat, 16 Mar 2019 18:38:36 +0000 (11:38 -0700)]
Fix regexp typo in vc-git--program-version
* lisp/vc/vc-git.el (vc-git--program-version):
Require a period after ".windows", instead of allowing any char.
Mattias Engdegård [Sat, 16 Mar 2019 18:36:38 +0000 (11:36 -0700)]
Fix some ineffective backslashes in string literals
Deal with lone backslashes that have no effect in string literals,
but indicate that something is amiss.
* lisp/auth-source-pass.el (auth-source-pass-entries):
* lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
* lisp/org/ob-abc.el (org-babel-expand-body:abc, org-babel-execute:abc):
* lisp/org/ob-forth.el (org-babel-forth-session-execute):
* lisp/vc/vc-git.el (vc-git--program-version):
Add backslash in regexp for correctness.
* lisp/gnus/nnmail.el (nnmail-split-abbrev-alist):
Replace `\||' with `\\|' to follow the obvious regexp intent.
* lisp/org/org-list.el (org-plain-list-ordered-item-terminator):
Add backslash in doc comment so that it appears as intended.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1, c-end-of-decl-1):
* lisp/progmodes/f90.el (f90-font-lock-keywords-2):
* lisp/progmodes/etags.el (etags-tags-completion-table):
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize):
* test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
Remove superfluous backslashes from regexp.
* test/lisp/emacs-lisp/rx-tests.el (rx-char-any):
Remove superfluous backslash from doc comment.
Eli Zaretskii [Sat, 16 Mar 2019 11:59:03 +0000 (13:59 +0200)]
Improve locale and language environment setting at startup
* lisp/international/mule-cmds.el (locale-language-names): Add
more locales and their language environments.
(set-locale-environment): Use w32-multibyte-code-page, if
non-zero, as locale-coding-system. (Bug#34684)
* src/w32fns.c (globals_of_w32fns) <w32-multibyte-code-page>:
New variable.
* etc/NEWS: Mention w32-multibyte-code-page.
Paul Eggert [Sat, 16 Mar 2019 01:31:31 +0000 (18:31 -0700)]
Bring back Emacs 26 compatibility to flymake.el
* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
Revert to using seconds-to-time, since this file is part
of ELPA and needs to work on Emacs 26 too.
Paul Eggert [Sat, 16 Mar 2019 01:24:20 +0000 (18:24 -0700)]
Use bool for menu_items_inuse
* src/menu.c (menu_items_inuse): Now bool, instead of a
Lisp_Object that is always Qt or Qnil. All uses changed.
Alan Mackenzie [Fri, 15 Mar 2019 11:43:11 +0000 (11:43 +0000)]
* doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}
Eli Zaretskii [Fri, 15 Mar 2019 09:15:06 +0000 (11:15 +0200)]
Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
* lisp/shell.el (shell-completion-vars): Set only the
buffer-local value of 'comint-input-autoexpand'. (Bug#34815)
Philippe Vaucher [Sat, 2 Mar 2019 19:03:41 +0000 (20:03 +0100)]
Customize tabulated-list sort indicators
This allows the user to customize the sorting indicators displayed
near the current column.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list): New group.
(tabulated-list-gui-sort-indicator-asc)
(tabulated-list-gui-sort-indicator-desc)
(tabulated-list-tty-sort-indicator-asc)
(tabulated-list-tty-sort-indicator-desc): New defcustomd.
(tabulated-list-glyphless-char-display): Remove.
(tabulated-list-make-glyphless-char-display-table): New function.
* doc/lispref/modes.texi (Tabulated List Mode): Add documentation
for new options.
* etc/NEWS: Mention the new options.
Eli Zaretskii [Fri, 15 Mar 2019 08:02:58 +0000 (10:02 +0200)]
* etc/NEWS: Document Sami input methods. (Bug#34866)
Wojciech Gac [Fri, 15 Mar 2019 01:01:48 +0000 (02:01 +0100)]
Add notice and fix missing character
Wojciech Gac [Wed, 13 Mar 2019 07:09:31 +0000 (08:09 +0100)]
Add remaining Sami input methods
Wojciech Gac [Wed, 13 Mar 2019 01:10:19 +0000 (02:10 +0100)]
Add Skolt Sami and Inari Sami input methods
Stefan Monnier [Wed, 13 Mar 2019 22:22:57 +0000 (18:22 -0400)]
* lisp/doc-view.el (doc-view--text-view-mode): Derive from text-mode.
Basil L. Contovounesios [Wed, 13 Mar 2019 18:30:07 +0000 (18:30 +0000)]
Fix file attribute accessor typo in Elisp manual
This was introduced in
662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
2018-09-24T01:30:46Z!eggert@cs.ucla.edu.
* doc/lispref/files.texi (File Attributes): Fix typo referring to
wrong file attribute accessor.
Glenn Morris [Wed, 13 Mar 2019 21:33:25 +0000 (17:33 -0400)]
* test/lisp/progmodes/python-tests.el
(python-syntax-after-python-backspace): Expect failure again.
; since
5feaf90
Stefan Monnier [Wed, 13 Mar 2019 19:55:39 +0000 (15:55 -0400)]
* lisp/emacs-lisp/easy-mmode.el: Fix most obvious bug#34723
(easy-mmode-define-navigation): Don't scroll in the opposite direction of
the movement.
Stefan Monnier [Wed, 13 Mar 2019 18:25:28 +0000 (14:25 -0400)]
* lisp/mail/hashcash.el (hashcash-insert-payment-async): Fix last change
Stefan Monnier [Wed, 13 Mar 2019 17:40:36 +0000 (13:40 -0400)]
* lisp/progmodes/python.el (python-rx-constituents): Fix ordering in `or`
The previous code worked earlier because of a bug in `rx` (which used
`regexp-opt` without passing it to `keep-order` argument), but now that `rx`
has been fixed the underlying bug here reared its ugly head.
Eli Zaretskii [Wed, 13 Mar 2019 16:53:08 +0000 (18:53 +0200)]
Avoid gratuitous errors in 'url-retrieve-synchronously'
* lisp/url/url-http.el (url-http-debug):
* lisp/url/url-util.el (url-debug): Don't signal an error if
quit-flag is non-nil, but not t. This could happen because
some unrelated code is running inside while-no-input.
(Bug#34763)
Stefan Monnier [Wed, 13 Mar 2019 14:27:46 +0000 (10:27 -0400)]
* lisp/battery.el (battery-bsd-apm): Group indices together; use pcase
Ahmed Khanzada [Wed, 13 Mar 2019 14:10:19 +0000 (10:10 -0400)]
* lisp/battery.el (battery-bsd-apm): Make it work on FreeBSD
Copyright-paperwork-exempt: yes
Use flag "t" to get remaining time, and adjust to different output order.
Martin Rudalics [Wed, 13 Mar 2019 09:45:28 +0000 (10:45 +0100)]
Document restrictions when setting window margins, fringes or scroll bars
* src/window.c (Fset_window_margins, Fset_window_fringes)
(Fset_window_scroll_bars): In doc-strings tell that a window
must be large enough to accommodate fringes, sroll bars and
margins of the desired size.
* doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
(Display Margins): Tell that windows must be large enough to
accommodate fringes, sroll bars and margins of the desired
size.
Christopher Wellons [Tue, 12 Mar 2019 20:35:28 +0000 (16:35 -0400)]
* lisp/mail/hashcash.el: Get rid of backquoted lambdas
Copyright-paperwork-exempt: yes
(hashcash-generate-payment-async): η-reduce.
(hashcash-insert-payment-async): Use proper closure.
Michael Albinus [Tue, 12 Mar 2019 18:40:16 +0000 (19:40 +0100)]
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Use proper range when deleting the region.
Alan Mackenzie [Tue, 12 Mar 2019 18:33:31 +0000 (18:33 +0000)]
Correct the indentation of CC Mode brace lists
while preserving the indentation of nested C++ uniform initialization.
* lisp/progmodes/cc-align.el (c-lineup-2nd-brace-entry-in-arglist)
(c-lineup-class-decl-init-+, c-lineup-class-decl-init-after-brace): New
indentation functions.
* lisp/progmodes/cc-engine.el (c-forward-class-decl): New function.
(c-do-declarators): New function, partially extracted from
c-font-lock-declarators, which now calls the new function.
(c-inside-bracelist-p): Amend the introductory comment.
(c-add-stmt-syntax): Add code to prevent the spurious recognition of a
'defun-block-intro when a brace pair is used as an initializer.
(c-evaluate-offset): No longer ignore vectors of length >= 2.
(c-calc-offset): Refactor clumsily nested `if'/`or' into a cond form.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Replace the bulk of
this function by a call to the new c-forward-class-decl.
* lisp/progmodes/cc-langs.el (c-type-decl-prefix-key): Recognize "~" as a
type decl operator.
* lisp/progmodes/cc-mode.el (c-fl-decl-start): While searching backward for a
"}" at an EOD, deal with actually finding the end of a brace list.
* doc/misc/cc-mode.texi (List Line-Up): document
c-lineup-2nd-brace-entry-in-arglist, c-lineup-class-decl-init-+, and
c-lineup-class-decl-init-after-brace.
* lisp/progmodes/cc-styles.el (c-style-alist): In styles "gnu", "bsd",
"stroustrup", "python", and "java", change the offset for brace-list-intro
from the default value or c-lineup-arglist-intro-after-paren to a list
beginning with the symbol first, followed by two of the new alignment
functions, followed by +.
* lisp/progmodes/cc-vars.el (c-offset-alist): Change the default value of
brace-list-entry from c-lineup-under-anchor back to 0.
Martin Rudalics [Tue, 12 Mar 2019 09:48:19 +0000 (10:48 +0100)]
Revert last tweak in 'comint-output-filter'
* lisp/comint.el (comint-output-filter): Revert last tweak because
it can hang gdb indefinitely.
Paul Eggert [Mon, 11 Mar 2019 18:07:30 +0000 (11:07 -0700)]
Reindent pdumper per usual Emacs style
* src/pdumper.c, src/pdumper.h: Reindent.
Eli Zaretskii [Mon, 11 Mar 2019 15:32:38 +0000 (17:32 +0200)]
Fix show-trailing-whitespace in R2L text
* src/xdisp.c (highlight_trailing_whitespace): Allow for
stretch glyphs at the left edge of R2L lines, when skipping
glyphs inserted by the display engine. This unbreaks
show-trailing-whitespace in R2L lines.
Paul Eggert [Mon, 11 Mar 2019 15:20:54 +0000 (08:20 -0700)]
Fix a small pdumper memory leak
* src/pdumper.c (dump_mmap_reset): Free the private area here ...
(dump_mm_heap_cb_release): ... instead of here.
(dump_mmap_release_heap): Simplify by avoiding a local.
(dump_mmap_contiguous): Reindent GNU style.
Martin Rudalics [Mon, 11 Mar 2019 08:57:23 +0000 (09:57 +0100)]
Rewrite minibuffer window resizing code
* src/frame.c (resize_mini_frames): New variable.
* src/window.c (resize_mini_window_apply): New function.
(grow_mini_window, shrink_mini_window): Remove PIXELWISE
argument. Call resize_mini_window_apply to apply changes.
(Fresize_mini_window_internal): Call resize_mini_window_apply
to apply changes.
(Qwindow__resize_mini_frame): New symbol.
* src/window.h (grow_mini_window, shrink_mini_window): Adjust
external declarations.
* src/xdisp.c (resize_mini_window): For minibuffer-only frames
call 'window--resize-mini-frame' if resize_mini_frames is
non-nil. Offload parts of logic to grow_mini_window and
shrink_mini_window which are now called without the PIXELWISE
argument.
(Vresize_mini_windows): Mention 'resize-mini-frames' in
doc-string.
* lisp/cus-start.el (resize-mini-frames): Add customization
support.
* lisp/window.el (window--resize-mini-window): Simplify code.
(window--resize-mini-frame): New function.
* doc/lispref/minibuf.texi (Minibuffer Windows): Describe new
option 'resize-mini-frames'.
* etc/NEWS: Mention new option 'resize-mini-frames'.
Paul Eggert [Mon, 11 Mar 2019 06:46:26 +0000 (23:46 -0700)]
* src/editfns.c: Fix docstring typo.
Paul Eggert [Mon, 11 Mar 2019 06:39:48 +0000 (23:39 -0700)]
Improve binary-as-unsigned treatment (Bug#34792)
* etc/NEWS:
* src/editfns.c (Fformat, binary_as_unsigned):
Update now that we always have bignums.
(syms_of_editfns) [!defined lisp_h_FIXNUMP]: Remove now-obsolete
code, since lisp_h_FIXNUMP is always defined now.
* test/src/editfns-tests.el (read-large-integer): Simplify,
now that we can assume binary-as-unsigned defaults to nil.
Paul Eggert [Mon, 11 Mar 2019 06:08:37 +0000 (23:08 -0700)]
More regexp corrections and tweaks
Problems reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00247.html
* lisp/align.el (align-rules-list):
* lisp/comint.el (comint-output-filter):
* lisp/language/china-util.el (encode-hz-region):
* lisp/progmodes/cperl-mode.el (cperl-indent-exp):
* lisp/progmodes/idlwave.el (idlwave-is-pointer-dereference):
* lisp/progmodes/scheme.el (dsssl-font-lock-keywords):
* lisp/textmodes/texinfmt.el (texinfo-accent-commands):
* test/src/regex-emacs-tests.el (regex-tests-re-even-escapes):
Fix some regular-expression typos.
Paul Eggert [Mon, 11 Mar 2019 06:03:48 +0000 (23:03 -0700)]
Update from Gnulib
This incorporates:
2019-03-10 alloca-opt: Fix conflict mingw's new <alloca.h> file
2019-03-03 getloadavg: Write NULL for the null pointer
Reported by Michal Privoznik <mprivozn@redhat.com>.
* lib/getloadavg.c (getloadavg): Write NULL instead of 0.
* build-aux/config.guess, build-aux/move-if-change:
* doc/misc/texinfo.tex, lib/alloca.in.h, lib/getloadavg.c:
* m4/alloca.m4:
Copy from Gnulib.
* lib/gnulib.mk.in: Regenerate.
Glenn Morris [Mon, 11 Mar 2019 00:50:09 +0000 (17:50 -0700)]
; Auto-commit of loaddefs files.
Dmitry Gutov [Mon, 11 Mar 2019 00:30:08 +0000 (02:30 +0200)]
(ruby-add-log-current-method): Recognize methods ending with ? or !
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
Recognize method names ending with ? or !.
Dmitry Gutov [Mon, 11 Mar 2019 00:22:54 +0000 (02:22 +0200)]
project--find-regexp-in-files: Use 'grep -E'
* lisp/progmodes/project.el (project--find-regexp-in-files): Use
'grep -E' because we convert the regexp to extended already.
Eli Zaretskii [Sun, 10 Mar 2019 18:20:07 +0000 (20:20 +0200)]
More improvements for 'read-buffer's doc string
* src/minibuf.c (Fread_buffer): Further improve the doc
string. (Bug#347694)
Michael Albinus [Sun, 10 Mar 2019 14:56:24 +0000 (15:56 +0100)]
Changes in Tramp adb process handling
* lisp/net/tramp-adb.el (tramp-methods) <adb>: Add `tramp-remote-shell'
and `tramp-remote-shell-args'.
(tramp-adb-file-name-handler-alist): Use `tramp-handle-shell-command'
rather than `tramp-adb-handle-shell-command'.
(tramp-adb-handle-shell-command): Remove.
(tramp-adb-handle-make-process): Use a proper prompt.
(tramp-adb-wait-for-output): Simplify.
Ken Brown [Sat, 9 Mar 2019 22:06:54 +0000 (17:06 -0500)]
Use a runtime test for timerfd on Cygwin (Bug#34618)
* src/atimer.c [HAVE_TIMERFD] (have_buggy_timerfd): New
function.
(init_atimer) Use it.
Alan Mackenzie [Sun, 10 Mar 2019 14:27:38 +0000 (14:27 +0000)]
* lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2
Stefan Monnier [Sun, 10 Mar 2019 07:54:46 +0000 (03:54 -0400)]
* lisp/speedbar.el: Minor tweaks
(speedbar-directory-buttons-follow): Use file-name-as-directory.
(speedbar-ignored-directory-expressions)
(speedbar-supported-extension-expressions): Use `sym` in the setter.
(speedbar-frame-mode): Use with-current-buffer.
(speedbar-item-info-tag-helper): Use 'cond'.
(speedbar-highlight-one-tag-line): Don't use position beyond EOB.
Tassilo Horn [Sat, 9 Mar 2019 21:05:38 +0000 (22:05 +0100)]
Make doc-view work with text-mode as default major-mode (bug#34451)
* lisp/doc-view.el (doc-view--text-view-mode): New alias for view-mode.
(doc-view-open-text): Use it.
(doc-view-toggle-display): Use it.
Christopher Wellons [Sat, 9 Mar 2019 20:49:49 +0000 (15:49 -0500)]
* list/emulation/viper: Use user-error for "Viper bell"
Copyright-paperwork-exempt: yes
* lisp/emulation/viper-init.el (viper-ViperBell): New constant.
* lisp/emulation/viper-cmd.el (viper-prefix-arg-com)
(viper-forward-char, viper-backward-char, viper-goto-col)
(viper-find-char, viper-paren-match, viper-put-back, viper-Put-back)
(viper-delete-char, viper-mark-point, viper-goto-mark-subr):
* lisp/emulation/viper-ex.el (ex-delete): Use it and `user-error`.
Tassilo Horn [Sat, 9 Mar 2019 20:27:24 +0000 (21:27 +0100)]
Name buffer according to attachment filename (bug#34478).
* lisp/gnus/mm-decode.el (mm-display-external): Name buffer showing
the attachment according to the attachment's filename, i.e. "*mm*
<filename>" instead of " *mm*12345".
Ken Brown [Sat, 9 Mar 2019 19:22:54 +0000 (14:22 -0500)]
Re-enable the timerfd interface on Cygwin
* configure.ac (emacs_cv_have_timerfd): No longer set this to "no"
on Cygwin. (Bug#34618)
Eli Zaretskii [Sat, 9 Mar 2019 18:58:56 +0000 (20:58 +0200)]
; * src/editfns.c (Fformat): Fix last change. (Bug#34792)