]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 30 Dec 2019 17:04:04 +0000 (09:04 -0800)]
Merge from origin/emacs-27

8224ed7d40 (xref--find-buffer-visiting): Speed up by using get-file-b...

4 years agoFix recent gnus-start.el breakage
Lars Ingebrigtsen [Sat, 28 Dec 2019 00:45:12 +0000 (01:45 +0100)]
Fix recent gnus-start.el breakage

* lisp/gnus/gnus-start.el (gnus-group-change-level): Fix previous
patch that made info nil when adding new groups (thereby making
gnus-newsrc-alist invalid).

(cherry picked from commit 3434ac67b9ec6b1d19f1c5ebb7d23b0b62dadac9)

4 years agoDisplay a help text when listing EPA keys
Richard Stallman [Fri, 27 Dec 2019 18:27:13 +0000 (19:27 +0100)]
Display a help text when listing EPA keys

* lisp/epa.el (epa--list-keys, epa-list-keys): Display a help text
that explains what the letters mean.

4 years ago(xref--find-buffer-visiting): Speed up by using get-file-buffer
Dmitry Gutov [Fri, 27 Dec 2019 16:17:48 +0000 (19:17 +0300)]
(xref--find-buffer-visiting): Speed up by using get-file-buffer

* lisp/progmodes/xref.el (xref--find-buffer-visiting):
Speed up by using get-file-buffer.
(xref--collect-matches): Remove the condition on remote-id.
(https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00753.html)

4 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 27 Dec 2019 15:50:16 +0000 (07:50 -0800)]
Merge from origin/emacs-27

3f2788d4ac (origin/emacs-27) project--vc-list-files: Recurse into sub...
f0da3aa83e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
3b199614cc Minor improvements of buffer documentation
e1e0a7a751 xref--collect-matches: Speed up on remote
219b91eb2c ; project--find-regexp-in-files: Avoid prepending remote-i...

4 years ago; Merge from origin/emacs-27
Glenn Morris [Fri, 27 Dec 2019 15:50:16 +0000 (07:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

d627fc7d55 ; Use regexp type in tramp-adb-prompt (backport, do not me...

4 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 27 Dec 2019 15:50:16 +0000 (07:50 -0800)]
Merge from origin/emacs-27

8aad80d661 Fix installer build
47a73e3e14 Update Windows build documentation
cd55984153 Calc: add missing dynamic variable declarations
e8aa6f19e9 * doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
ccd7cd2c51 Speed up dired-do-find-regexp
7edb1f0773 ; Remove outdated declarations
6ab40c1a51 ; Clarify the assumption
be38e39fcc project--find-regexp-in-files: Support remote files
21c3020fce Document some restrictions for module functions.
e1ce9f3423 Don't recommend using 'module-load' for loading modules.
03f962a486 Port x_get_monitor_attributes_fallback to !HAVE_GTK3
0b32f59764 Fix compilation warning in gnus-start.el

4 years agoproject--vc-list-files: Recurse into submodules
Dmitry Gutov [Fri, 27 Dec 2019 15:18:41 +0000 (18:18 +0300)]
project--vc-list-files: Recurse into submodules

* lisp/progmodes/project.el (project-try-vc): Do not treat a Git
submodule as a project root, go up to the parent repo.
(project--git-submodules): New function.
(project--vc-list-files): Use it.  Recurse into submodules.

4 years agoMerge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27
Eli Zaretskii [Fri, 27 Dec 2019 14:20:27 +0000 (16:20 +0200)]
Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27

4 years agoMinor improvements of buffer documentation
Eli Zaretskii [Fri, 27 Dec 2019 14:19:09 +0000 (16:19 +0200)]
Minor improvements of buffer documentation

* doc/emacs/buffers.texi (Buffers): Say that buffers are killed
when no longer needed.  Suggested by Jean-Christophe Helary
<jean.christophe.helary@traduction-libre.org>.

4 years agoxref--collect-matches: Speed up on remote
Dmitry Gutov [Fri, 27 Dec 2019 14:08:53 +0000 (17:08 +0300)]
xref--collect-matches: Speed up on remote

* lisp/progmodes/xref.el (xref--collect-matches):
Don't call find-buffer-visiting on remote file names, it's pretty
slow (bug#34343).

4 years ago; project--find-regexp-in-files: Avoid prepending remote-id twice (bug#34343)
Dmitry Gutov [Fri, 27 Dec 2019 14:06:25 +0000 (17:06 +0300)]
; project--find-regexp-in-files: Avoid prepending remote-id twice (bug#34343)

4 years agoDeduplicate non-fixnum numeric constants in byte-compilation
Mattias Engdegård [Sun, 22 Dec 2019 11:09:06 +0000 (12:09 +0100)]
Deduplicate non-fixnum numeric constants in byte-compilation

* lisp/emacs-lisp/bytecomp.el (byte-compile-get-constant):
Use eql for looking up constants instead of eq, allowing
for bignum and flonum deduplication (bug#38708).

4 years agoFix error message about recursive use of minibuffer
Eli Zaretskii [Fri, 27 Dec 2019 10:28:31 +0000 (12:28 +0200)]
Fix error message about recursive use of minibuffer

* src/minibuf.c (read_minibuf): Fix formatting of an error
message.  Reported by martin rudalics <rudalics@gmx.at>.

4 years ago; Use regexp type in tramp-adb-prompt (backport, do not merge)
Mattias Engdegård [Fri, 27 Dec 2019 09:25:05 +0000 (10:25 +0100)]
; Use regexp type in tramp-adb-prompt (backport, do not merge)

* lisp/net/tramp-adb.el (tramp-adb-prompt): Use 'regexp' instead
of 'string' as type for values that are regexps in defcustom
declarations.

4 years agoFix installer build
Phillip Lord [Thu, 26 Dec 2019 22:01:02 +0000 (23:01 +0100)]
Fix installer build

* admin/nt/dist-build/build-zips.sh: Ensure that NSIS build always
  uses the actual build number to locate its files.

4 years agoUpdate for Emacs-28
Phillip Lord [Thu, 26 Dec 2019 20:15:32 +0000 (21:15 +0100)]
Update for Emacs-28

* admin/nt/dist-build/build-dep-zips.py: Emacs major version number.

4 years agoUpdate Windows build documentation
Phillip Lord [Thu, 26 Dec 2019 20:13:38 +0000 (21:13 +0100)]
Update Windows build documentation

* admin/nt/dist-build/README-scripts: Update with branch and snapshot
  information.

4 years agoFix bogus test in body of a while loop
Lars Ingebrigtsen [Thu, 26 Dec 2019 18:46:19 +0000 (19:46 +0100)]
Fix bogus test in body of a while loop

* lisp/gnus/nnheader.el (nnheader-find-nov-line): Fix return value
from while loop.

4 years ago* lisp/net/ldap.el (ldap-search-internal): Add missing setq.
Mattias Engdegård [Thu, 26 Dec 2019 18:44:13 +0000 (19:44 +0100)]
* lisp/net/ldap.el (ldap-search-internal): Add missing setq.

4 years agoOptimise 'while' bodies for effect
Mattias Engdegård [Thu, 26 Dec 2019 16:50:19 +0000 (17:50 +0100)]
Optimise 'while' bodies for effect

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Treat all expressions in the body of 'while' as for-effect,
since their values are discarded.  This also finds some errors.

4 years agoCalc: add missing dynamic variable declarations
Mattias Engdegård [Thu, 26 Dec 2019 18:37:10 +0000 (19:37 +0100)]
Calc: add missing dynamic variable declarations

* lisp/calc/calc-alg.el (math-simplify-only, calc-simplify-mode)
(math-expand-formulas, calc-poly-div-remainder)
(math-living-dangerously, math-simplifying, calc-angle-mode)
(calc-prefer-frac, math-poly-base-variable):
Declare dynamic variables.
* test/lisp/calc/calc-tests.el (calc-poly-div):
Add test for at least one bug caused by missing declarations.

4 years ago* doc/emacs/buffers.texi (Kill Buffer): Improve indexing.
Eli Zaretskii [Thu, 26 Dec 2019 16:20:12 +0000 (18:20 +0200)]
* doc/emacs/buffers.texi (Kill Buffer): Improve indexing.

4 years agoUse regexp type for regexps in defcustom declarations
Mattias Engdegård [Sat, 21 Dec 2019 17:52:06 +0000 (18:52 +0100)]
Use regexp type for regexps in defcustom declarations

* lisp/calendar/diary-lib.el (diary-face-attrs):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-file-match):
* lisp/cedet/srecode/document.el
(srecode-document-autocomment-common-nouns-abbrevs)
(srecode-document-autocomment-function-alist)
(srecode-document-autocomment-return-first-alist)
(srecode-document-autocomment-return-last-alist)
(srecode-document-autocomment-param-alist)
(srecode-document-autocomment-param-type-alist):
* lisp/desktop.el (desktop-clear-preserve-buffers):
* lisp/elide-head.el (elide-head-headers-to-hide):
* lisp/erc/erc-backend.el (erc-encoding-coding-alist):
* lisp/erc/erc-ezbounce.el (erc-ezb-regexp):
* lisp/files.el (auto-save-file-name-transforms):
* lisp/gnus/deuglify.el (gnus-outlook-deuglify-attrib-cut-regexp)
(gnus-outlook-deuglify-attrib-verb-regexp)
(gnus-outlook-deuglify-attrib-end-regexp):
* lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
* lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header):
* lisp/htmlfontify.el (hfy-src-doc-link-unstyle):
* lisp/info-look.el (info-lookup-file-name-alist):
* lisp/international/rfc1843.el (rfc1843-newsgroups-regexp):
* lisp/mail/feedmail.el (feedmail-queue-slug-suspect-regexp):
* lisp/mail/rmail-spam-filter.el (rsf-white-list, rsf-definitions-alist):
* lisp/man.el (Man-name-local-regexp):
* lisp/net/ange-ftp.el (ange-ftp-dumb-unix-host-regexp):
* lisp/net/newst-backend.el (newsticker-auto-mark-filter-list):
* lisp/net/rcirc.el (rcirc-authinfo, rcirc-coding-system-alist):
* lisp/net/tramp-adb.el (tramp-adb-prompt):
* lisp/org/org-agenda.el (org-agenda-hide-tags-regexp)
(org-agenda-category-icon-alist):
* lisp/org/org-protocol.el (org-protocol-data-separator):
* lisp/org/org-table.el (org-table-number-regexp):
* lisp/org/ox-latex.el (org-latex-known-warnings):
* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
* lisp/progmodes/hideif.el (hide-ifdef-header-regexp):
* lisp/progmodes/idlw-help.el (idlwave-help-doclib-name)
(idlwave-help-doclib-keyword):
* lisp/progmodes/idlwave.el (idlwave-no-change-comment):
* lisp/progmodes/python.el (python-shell-prompt-input-regexps)
(python-shell-prompt-output-regexps, python-shell-prompt-regexp)
(python-shell-prompt-block-regexp, python-shell-prompt-output-regexp)
(python-shell-prompt-pdb-regexp, python-shell-compilation-regexp-alist)
(python-pdbtrack-stacktrace-info-regexp):
* lisp/progmodes/sql.el (sql-send-terminator, sql-ansi-statement-starters):
* lisp/speedbar.el (speedbar-directory-unshown-regexp)
(speedbar-file-unshown-regexp):
* lisp/textmodes/flyspell.el (flyspell-mark-duplications-exceptions)
(flyspell-tex-command-regexp):
* lisp/textmodes/paragraphs.el (sentence-end-base):
* lisp/textmodes/tildify.el (tildify-pattern, tildify-space-pattern):
* lisp/vc/ediff-init.el (ediff-metachars):
* lisp/vc/vc-git.el (vc-git-root-log-format):
* lisp/vc/vc-hg.el (vc-hg-root-log-format):
* lisp/whitespace.el (whitespace-indentation-regexp)
(whitespace-space-after-tab-regexp):
* lisp/woman.el (woman-manpath-man-regexp)
(woman-imenu-generic-expression):
Use 'regexp' instead of 'string' as type for values that are regexps
in defcustom declarations.

4 years agoSpeed up dired-do-find-regexp
Dmitry Gutov [Thu, 26 Dec 2019 15:39:48 +0000 (17:39 +0200)]
Speed up dired-do-find-regexp

* lisp/dired-aux.el (dired-do-find-regexp): Speed up (bug#36857).
Previously, 'find' was called for every marked file (for plain
files and directories both).  Now 'find' is only called for
directories.

4 years ago; Remove outdated declarations
Dmitry Gutov [Thu, 26 Dec 2019 15:32:30 +0000 (17:32 +0200)]
; Remove outdated declarations

4 years ago; Clarify the assumption
Dmitry Gutov [Thu, 26 Dec 2019 15:31:11 +0000 (17:31 +0200)]
; Clarify the assumption

4 years agoproject--find-regexp-in-files: Support remote files
Dmitry Gutov [Thu, 26 Dec 2019 13:38:53 +0000 (15:38 +0200)]
project--find-regexp-in-files: Support remote files

* lisp/progmodes/project.el (project--find-regexp-in-files):
Support remote files (bug#34343).

4 years agoDocument some restrictions for module functions.
Philipp Stephani [Thu, 26 Dec 2019 10:31:51 +0000 (11:31 +0100)]
Document some restrictions for module functions.

* doc/lispref/internals.texi (Module Functions): Document some
restrictions for module functions.

4 years agoDon't recommend using 'module-load' for loading modules.
Philipp Stephani [Thu, 26 Dec 2019 10:08:56 +0000 (11:08 +0100)]
Don't recommend using 'module-load' for loading modules.

'module-load' most likely doesn't do what users expect.  Users should
use 'load' and its wrappers, which do the right thing.

* doc/lispref/loading.texi (Dynamic Modules): Document
disadvantages of 'module-load' and recommend normal 'load' and
its wrappers instead.

* doc/lispref/internals.texi (Module Functions): Recommend
'load' over 'module-load'.

4 years agoSimplify an example in the modules manual
Philipp Stephani [Thu, 26 Dec 2019 09:58:55 +0000 (10:58 +0100)]
Simplify an example in the modules manual

* doc/lispref/internals.texi (Module Misc): Simplify example for how
to call 'intern'.  There's no need to pass the optional argument
explicitly.

4 years agoPromote function type aliases to the public module API.
Philipp Stephani [Thu, 26 Dec 2019 09:29:21 +0000 (10:29 +0100)]
Promote function type aliases to the public module API.

Previously module authors had to define type aliases for module
functions and finalizers themselves.  This commit adds and documents
aliases so that this is no longer necessary.

* src/emacs-module.h.in: Add 'emacs_function' and 'emacs_finalizer'
type aliases.

* src/emacs-module.c: Remove old 'emacs_subr' and 'emacs_finalizer'
type aliases.
(struct Lisp_Module_Function, module_make_function): Switch from
'emacs_subr' to 'emacs_function'.

* doc/lispref/internals.texi (Module Functions): Document and use
'emacs_function' type alias.
(Module Values): Document 'emacs_finalizer' type alias.

* etc/NEWS: Mention change.

4 years agoPort x_get_monitor_attributes_fallback to !HAVE_GTK3
Paul Eggert [Wed, 25 Dec 2019 20:01:07 +0000 (12:01 -0800)]
Port x_get_monitor_attributes_fallback to !HAVE_GTK3

* src/xfns.c (x_get_net_workarea) [!HAVE_GTK3]:
Define in this case too, since x_get_monitor_attributes_fallback
contains a call to it regardless whether HAVE_GTK3 is defined.

4 years agoDon't always resort in recently introduced icomplete--sorted-completions
João Távora [Wed, 25 Dec 2019 19:18:17 +0000 (19:18 +0000)]
Don't always resort in recently introduced icomplete--sorted-completions

Doing so breaks icomplete-forward-completions and
icomplete-backward-completions.

* lisp/icomplete.el (icomplete--sorted-completions): Don't always
resort.

4 years agoDon't force completion recalculation in icomplete-fido-ret
João Távora [Wed, 25 Dec 2019 17:57:20 +0000 (17:57 +0000)]
Don't force completion recalculation in icomplete-fido-ret

Besides the adverse effect of delaying completions, it tripped up the
useful logic of icomplete-force-complete-and-exit in the case where a
default was available, but no completions calculated yet.

* lisp/icomplete.el (icomplete-fido-ret): Don't force calculation
of completions.

4 years agoCorrectly cache sorted completions in icomplete--sorted-completions
João Távora [Wed, 25 Dec 2019 17:54:00 +0000 (17:54 +0000)]
Correctly cache sorted completions in icomplete--sorted-completions

* lisp/icomplete.el (icomplete--sorted-completions): Use
completion--cache-all-sorted-completions.

4 years ago; * etc/NEWS: Fix a recently added entry.
Eli Zaretskii [Wed, 25 Dec 2019 17:26:07 +0000 (19:26 +0200)]
; * etc/NEWS: Fix a recently added entry.

4 years ago* .gitignore: Ignore .dylib files (shared libraries on macOS)
Philipp Stephani [Wed, 25 Dec 2019 17:13:12 +0000 (18:13 +0100)]
* .gitignore: Ignore .dylib files (shared libraries on macOS)

4 years agoAdd some documentation for support of .dylib suffix on macOS
Philipp Stephani [Wed, 25 Dec 2019 17:03:26 +0000 (18:03 +0100)]
Add some documentation for support of .dylib suffix on macOS

* doc/lispref/loading.texi (Dynamic Modules):
* etc/NEWS: Document that dynamic module files on macOS can now have
the suffix .dylib.

4 years agoFix compilation warning in gnus-start.el
Lars Ingebrigtsen [Wed, 25 Dec 2019 16:12:10 +0000 (17:12 +0100)]
Fix compilation warning in gnus-start.el

* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): Fix
compilation warning by not binding XEmacs-only variable.

* lisp/gnus/gnus-util.el (gnus-bind-print-variables): Ditto.
(gnus-prin1, gnus-prin1-to-string, gnus-pp, gnus-pp-to-string):
Adjust doc string.

4 years agoDon't bind XEmacs-only variable in edebug
Lars Ingebrigtsen [Wed, 25 Dec 2019 16:14:26 +0000 (17:14 +0100)]
Don't bind XEmacs-only variable in edebug

* lisp/emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Remove
binding of XEmacs-only variable print-readably.

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 25 Dec 2019 15:50:19 +0000 (07:50 -0800)]
Merge from origin/emacs-27

91c16acbe2 (origin/emacs-27) Improve doc string of 'files--message'
c3be58a8f5 (emacs-27) Improve vc--add-line, vc--remove-regexp
9ea9ac9a61 Apply the 'xref-group' property properly

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 25 Dec 2019 15:50:19 +0000 (07:50 -0800)]
; Merge from origin/emacs-27

The following commits were skipped:

41f0cf266e * src/pdumper.c (Fdump_emacs_portable): Reword error message.
719a6924c4 Don’t allow portable dumping in interactive mode (Bug#38453).

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 25 Dec 2019 15:50:19 +0000 (07:50 -0800)]
Merge from origin/emacs-27

ca6a53d3bc Don't default to showing X-Faces externally in Gnus
dbf4b5b2d0 Fix manual typo in Special Read Syntax
a9fe6dfa90 Fix problem with emacs -nw / eww / svg
0de63092c8 Clarify base64 requirements and say what {en,de}code_codin...
6184aa003f ; * etc/NEWS: Fix boring oddities.
51ea32dd12 * src/emacs-module.h.in: Add reference to manual.
75d0cef20d Trivial docstring fixes
ee12c421b6 imagemagick-types needs to initialize ImageMagick

# Conflicts:
# etc/NEWS

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 25 Dec 2019 15:50:13 +0000 (07:50 -0800)]
; Merge from origin/emacs-27

The following commit was skipped:

9eb871c8d1 Cut the emacs-27 release branch

4 years agoImprove doc string of 'files--message'
Eli Zaretskii [Wed, 25 Dec 2019 15:00:06 +0000 (17:00 +0200)]
Improve doc string of 'files--message'

* lisp/files.el (files--message): Improve the wording of doc
string.  (Bug#38737)

4 years agoSupport .dylib suffix for modules on macOS (Bug#36226).
Philipp Stephani [Wed, 25 Dec 2019 14:41:39 +0000 (15:41 +0100)]
Support .dylib suffix for modules on macOS (Bug#36226).

On macOS, shared libraries typically have the suffix .dylib.  This
commit switches the module suffix to .dylib on Darwin to account for
that.  To also support the .so suffix, introduce the concept of a
secondary module suffix.

* configure.ac: Switch MODULES_SUFFIX to .dylib for Darwin, introduce
MODULES_SECONDARY_SUFFIX.

* src/lread.c (Fload, syms_of_lread): Also use
MODULES_SECONDARY_SUFFIX if defined.

* test/src/emacs-module-tests.el (module-darwin-secondary-suffix): New
unit test.

4 years agoImprove vc--add-line, vc--remove-regexp
Wolfgang Scherer [Mon, 26 Aug 2019 22:45:48 +0000 (00:45 +0200)]
Improve vc--add-line, vc--remove-regexp

* lisp/vc/vc.el (vc--add-line): Create file if it does not exist.
Use existing buffer to avoid discrepancies with filesytem.  Make sure
that the file ends with a newline.
(vc--remove-line): Do not create file if it does not exist.  Use
existing buffer to avoid discrepancies with filesytem. (bug#37185)

4 years agoApply the 'xref-group' property properly
Dmitry Gutov [Tue, 24 Dec 2019 20:30:02 +0000 (22:30 +0200)]
Apply the 'xref-group' property properly

* lisp/progmodes/xref.el (xref--insert-xrefs):
Apply the 'xref-group' property properly (bug#36974).

4 years ago* src/pdumper.c (Fdump_emacs_portable): Reword error message.
Philipp Stephani [Mon, 23 Dec 2019 20:26:38 +0000 (21:26 +0100)]
* src/pdumper.c (Fdump_emacs_portable): Reword error message.

(cherry picked from commit ac7b2607735a64e657d65c87d8c9f73755ff3efa)

4 years agoDon’t allow portable dumping in interactive mode (Bug#38453).
Philipp Stephani [Mon, 23 Dec 2019 19:49:15 +0000 (20:49 +0100)]
Don’t allow portable dumping in interactive mode (Bug#38453).

* src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
interactive mode.

(cherry picked from commit e7edba42c8a525722cbd40f782b0df68e4976a62)

4 years agoDon't default to showing X-Faces externally in Gnus
Lars Ingebrigtsen [Tue, 24 Dec 2019 16:50:24 +0000 (17:50 +0100)]
Don't default to showing X-Faces externally in Gnus

* lisp/gnus/gnus-art.el (gnus-article-x-face-command): It's seldom
useful to display the face in an external command, so don't ever
default to that.  This also fixes the problem of Emacs running as
a server in mixed graphical/non-graphical environments.

4 years agoFix manual typo in Special Read Syntax
Lars Ingebrigtsen [Tue, 24 Dec 2019 16:42:28 +0000 (17:42 +0100)]
Fix manual typo in Special Read Syntax

* doc/lispref/objects.texi (Special Read Syntax): Fix typo.

4 years agoMake goto-line keep a separate input history per buffer
Federico Tedin [Tue, 24 Dec 2019 16:38:19 +0000 (17:38 +0100)]
Make goto-line keep a separate input history per buffer

* lisp/simple.el (goto-line-history): New history variable.
(goto-line): Use new (buffer-local) variable as input
history (Bug#38282).
* lisp/subr.el (read-number-history): New history variable.
(read-number): Use the new variable as default input history.
* doc/lispref/minibuf.texi (Minibuffer History): Document
read-number-history and goto-line-history variables.
* etc/NEWS: Announce changes.

4 years agoFix problem with emacs -nw / eww / svg
Robert Pluim [Tue, 24 Dec 2019 16:21:06 +0000 (17:21 +0100)]
Fix problem with emacs -nw / eww / svg

* lisp/net/shr.el (shr-parse-image-data): Don't bug out on
non-visual Emacs versions on SVG images (bug#38507).

4 years agoClarify base64 requirements and say what {en,de}code_coding_region does
Lars Ingebrigtsen [Tue, 24 Dec 2019 16:11:04 +0000 (17:11 +0100)]
Clarify base64 requirements and say what {en,de}code_coding_region does

* src/coding.c (Fencode_coding_region): Clarify what this does.
(Fdecode_coding_region): Ditto.

* src/fns.c (Fbase64_decode_region): Clarify that this function
returns bytes, not text (bug#38587).
(Fbase64_encode_region): Clarify that this function takes bytes,
not text.

4 years agoMove flex style's minibuffer-default-aware sorting to lisp/icomplete.el
João Távora [Tue, 24 Dec 2019 10:40:39 +0000 (10:40 +0000)]
Move flex style's minibuffer-default-aware sorting to lisp/icomplete.el

This moves the logic from the series of commits starting in the commit named:

  Improve sorting of flex completion style with non-nil minibuffer-default

to lisp/icomplete.el, so far the only confirmed beneficiary of that
functionality.

* lisp/icomplete.el (icomplete--sorted-completions): Consider
minibuffer-default here.

* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

4 years ago; * etc/NEWS: Fix boring oddities.
Michael Albinus [Tue, 24 Dec 2019 09:45:04 +0000 (10:45 +0100)]
; * etc/NEWS: Fix boring oddities.

4 years ago* src/emacs-module.h.in: Add reference to manual.
Philipp Stephani [Tue, 24 Dec 2019 08:47:02 +0000 (09:47 +0100)]
* src/emacs-module.h.in: Add reference to manual.

4 years ago* src/minibuf.c (read_minibuf): Use `user-error`
Stefan Monnier [Tue, 24 Dec 2019 04:47:54 +0000 (23:47 -0500)]
* src/minibuf.c (read_minibuf): Use `user-error`

4 years agoDon't use `let*' with just one binding
Juanma Barranquero [Tue, 24 Dec 2019 03:09:46 +0000 (04:09 +0100)]
Don't use `let*' with just one binding

* lisp/registry.el (registry-reindex):
* lisp/emacs-lisp/generator.el (cps--add-state):
Use `let', not `let*'.

4 years agoTrivial docstring fixes
Juanma Barranquero [Tue, 24 Dec 2019 01:37:08 +0000 (02:37 +0100)]
Trivial docstring fixes

* ChangeLog.3:
* lisp/emacs-lisp/cl-macs.el (cl-flet):
* lisp/filesets.el (filesets-menu-ensure-use-cached):
* lisp/progmodes/compile.el (compilation-context-lines):
* lisp/progmodes/prolog.el (prolog-paren-indent):
* lisp/progmodes/sql.el (sql-password-search-wallet-function):
Fix typos in docstrings.

* lisp/cedet/semantic/analyze.el (semantic-analyze-push-error):
Doc fix.

* lisp/emacs-lisp/map.el (map-put, map-info): Refill docstring.
(map-contains-key): Fix typo.
(map-every-p): Doc fix.

4 years agoimagemagick-types needs to initialize ImageMagick
Dhruva Krishnamurthy [Tue, 24 Dec 2019 01:20:06 +0000 (17:20 -0800)]
imagemagick-types needs to initialize ImageMagick

* src/image.c (imagemagick_initialize): New function,
with body taken from imagemagick_load_image.
(imagemagick_load_image, Fimagemagick_types): Use it.
Copyright-paperwork-exempt: yes

4 years agoPrepare module header generation for Emacs 28.
Philipp Stephani [Mon, 23 Dec 2019 21:00:01 +0000 (22:00 +0100)]
Prepare module header generation for Emacs 28.

* configure.ac: Substitute environment function snippet for Emacs 28.

* src/module-env-28.h: New file, with dummy contents for now.

* src/emacs-module.h.in: Provide emacs_env_28 structure.

4 years ago* src/emacs-module.h.in: Use @emacs_major_version@ for current env.
Philipp Stephani [Mon, 23 Dec 2019 20:58:26 +0000 (21:58 +0100)]
* src/emacs-module.h.in: Use @emacs_major_version@ for current env.

4 years agoMake fido-mode behave more like ido-mode when finding directories
João Távora [Mon, 23 Dec 2019 23:43:30 +0000 (23:43 +0000)]
Make fido-mode behave more like ido-mode when finding directories

Notably C-x d (M-x dired) and C-x v d (M-x vc-dir) behaved quite
differently, having regular files as the default instead of ido's
usual "./".

* lisp/icomplete.el (icomplete--sorted-completions): New helper.
(icomplete-completions): Use it.

4 years agoSlightly simplify lisp/icomplete.el with new icomplete--category helper
João Távora [Mon, 23 Dec 2019 23:19:01 +0000 (23:19 +0000)]
Slightly simplify lisp/icomplete.el with new icomplete--category helper

* lisp/icomplete.el (icomplete-fido-kill)
(icomplete-fido-delete-char, icomplete-fido-ret)
(icomplete-fido-backward-updir, icomplete-exhibit): Use
icomplete--category.
(icomplete--category): New helper.

4 years agoAnother adjustment to flex completion style's sorting function
João Távora [Mon, 23 Dec 2019 23:11:59 +0000 (23:11 +0000)]
Another adjustment to flex completion style's sorting function

* lisp/minibuffer.el (completion--flex-adjust-metadata): Adjust
case when minibuffer-default is non-nil.

4 years ago* src/pdumper.c (Fdump_emacs_portable): Reword error message.
Philipp Stephani [Mon, 23 Dec 2019 20:26:38 +0000 (21:26 +0100)]
* src/pdumper.c (Fdump_emacs_portable): Reword error message.

4 years agoRemove some undefined behavior related to left shifts.
Philipp Stephani [Mon, 23 Dec 2019 20:24:37 +0000 (21:24 +0100)]
Remove some undefined behavior related to left shifts.

Found by UBSan.

* src/nsfns.m (ns_set_foreground_color, ns_set_background_color):
* src/nsimage.m (getPixelAtX:Y:):
* src/nsterm.m (ns_color_index_to_rgba): Add explicit casts to avoid
undefined behavior when left-shifting beyond the bounds of the int
type.

* src/macfont.m (METRICS_VALUE): Add explicit casts to avoid undefined
behavior when left-shifting a negative value.

4 years agoFurther expand coverage of unit tests for time-stamp
Stephen Gildea [Mon, 23 Dec 2019 19:51:47 +0000 (11:51 -0800)]
Further expand coverage of unit tests for time-stamp

* test/lisp/time-stamp-tests.el (time-stamp-custom-format-tabs-expand,
time-stamp-custom-end, time-stamp-helper-string-defaults): New tests.
(time-stamp-custom-count): Test 0 case.
(time-stamp-format-non-date-conversions): Test different system values.

Development of these new tests was guided by the "testcover" library.

4 years agoDon’t allow portable dumping in interactive mode (Bug#38453).
Philipp Stephani [Mon, 23 Dec 2019 19:49:15 +0000 (20:49 +0100)]
Don’t allow portable dumping in interactive mode (Bug#38453).

* src/pdumper.c (Fdump_emacs_portable): Don’t allow dumping in
interactive mode.

4 years ago; Fix oversights during renaming of example code
Mario Lang [Mon, 23 Dec 2019 17:30:09 +0000 (18:30 +0100)]
; Fix oversights during renaming of example code

Introduced in 94fa7ceb480632fec7dda6d41f63223e4127bd83

4 years agoMake argument names in module interface more consistent.
Philipp Stephani [Mon, 23 Dec 2019 16:12:56 +0000 (17:12 +0100)]
Make argument names in module interface more consistent.

Previously, the names of arguments and other details were needlessly
inconsistent between the documentation, the declarations, and the
definitions, as well as between each other.  This commit makes them
more consistent, in most cases by applying the names from the
documentation everywhere.

* src/module-env-27.h:
* src/module-env-25.h:
* src/emacs-module.h.in:
* src/emacs-module.c (module_get_environment)
(module_make_global_ref, module_free_global_ref)
(module_non_local_exit_get, module_non_local_exit_signal)
(module_make_function, module_funcall, module_type_of)
(module_is_not_nil, module_extract_integer)
(module_extract_float, module_copy_string_contents)
(module_make_string, module_vec_set, module_vec_get)
(module_vec_size, module_extract_time)
(module_assert_runtime):
* doc/lispref/internals.texi (Module Initialization)
(Module Functions, Module Values): Make argument names and some other
details consistent.  No functional changes.

4 years agoBump Emacs version to 28.0.50
Eli Zaretskii [Mon, 23 Dec 2019 16:00:52 +0000 (18:00 +0200)]
Bump Emacs version to 28.0.50

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* src/msdos.c (internal_terminal_init):
* etc/refcards/ru-refcard.tex: Bump Emacs version to 28.0.50.

* lisp/cus-edit.el (customize-changed-options-previous-release):
Bump up the value to 26.3.

* etc/NEWS.27: Renamed from NEWS.
* etc/NEWS: New file for Emacs 28.

4 years agoCut the emacs-27 release branch
Eli Zaretskii [Mon, 23 Dec 2019 15:41:17 +0000 (17:41 +0200)]
Cut the emacs-27 release branch

* lisp/cus-edit.el (customize-changed-options-previous-release):
Change the value to 26.3.

* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 27.0.60.

4 years agoDocument and verify that emacs_limb_t doesn’t have padding bits.
Philipp Stephani [Mon, 23 Dec 2019 14:37:49 +0000 (15:37 +0100)]
Document and verify that emacs_limb_t doesn’t have padding bits.

This is a useful property when doing further bit-twiddling with the
magnitude array before/after calling extract_big_integer or
make_big_integer.  For example, constructing an emacs_limb_t object
using repeated shift-and-add should work as expected, but relies on
the type not having padding bits.  Since the C standard already
guarantees that unsigned integers use a pure binary representation,
not having padding bits is enough to guarantee that the type has
unique object representations in the sense of C++’s
std::has_unique_object_representations.

* doc/lispref/internals.texi (Module Values): Document that
emacs_limb_t doesn’t have padding bits.

* src/emacs-module.c: Verify that emacs_limb_t doesn’t have padding
bits.

4 years agoFix extension of underline, overline, and strike-through attributes
Jimmy Aguilar Mena [Sun, 22 Dec 2019 22:46:39 +0000 (23:46 +0100)]
Fix extension of underline, overline, and strike-through attributes

* src/xdisp.c (extend_face_to_end_of_line): Don't return early
if face attributes beyond background color and box are set,
since that means these attributes need to be extended past the
EOL.

4 years ago; * lisp/mouse.el: declare functions to silence warnings
Mattias Engdegård [Mon, 23 Dec 2019 11:39:41 +0000 (12:39 +0100)]
; * lisp/mouse.el: declare functions to silence warnings

4 years agoComment on limitation of flex completion style's sorting function
João Távora [Mon, 23 Dec 2019 11:08:43 +0000 (12:08 +0100)]
Comment on limitation of flex completion style's sorting function

* lisp/minibuffer.el (completion--flex-adjust-metadata): Add
comment.

4 years agoFix a bug in completion--flex-adjust-metadata
João Távora [Mon, 23 Dec 2019 11:03:13 +0000 (12:03 +0100)]
Fix a bug in completion--flex-adjust-metadata

If minibuffer-default coincided with the first of completions, the
empty list would be returned.

* lisp/minibuffer.el (completion--flex-adjust-metadata): Make sure
to never return empty list.

4 years agoFix documentation of implied frame resizing (Bug#38684)
Martin Rudalics [Mon, 23 Dec 2019 09:50:44 +0000 (10:50 +0100)]
Fix documentation of implied frame resizing (Bug#38684)

* src/frame.c (frame_inhibit_implied_resize): Fix doc-string.
* doc/lispref/frames.texi (Implied Frame Resizing): Update and
rewrite section.

4 years agoAdded `comint-password-function' hook
Michael R. Mauger [Mon, 23 Dec 2019 04:56:05 +0000 (23:56 -0500)]
Added `comint-password-function' hook

* etc/NEWS:
* lisp/comint.el (comint-password-function): New variable.
  (comint-send-invisible): Use it.
* test/lisp/comint-tests.el (comint-test-no-password-function,
  comint-test-password-function-with-value,
  comint-test-password-function-with-nil): Test new variable.

4 years ago* lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.
Juri Linkov [Sun, 22 Dec 2019 23:02:22 +0000 (01:02 +0200)]
* lisp/files.el (save-buffers-kill-emacs): Mark "*Process List*" as dedicated.

Using the 'dedicated' prop for display-buffer--maybe-at-bottom marks the
window of the buffer "*Process List*" as dedicated, so it won't be replaced
by another buffer that might be visited following links to process buffers
from the buffer "*Process List*".

4 years ago* lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))
Juri Linkov [Sun, 22 Dec 2019 22:55:38 +0000 (00:55 +0200)]
* lisp/tab-bar.el: Use alist-get instead of (cdr (assq ...))

* lisp/tab-bar.el (tab-bar-mode): Bind s-0 to tab-bar-switch-to-recent-tab.

4 years ago* lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals.
Juri Linkov [Sun, 22 Dec 2019 22:51:49 +0000 (00:51 +0200)]
* lisp/proced.el (proced-signal-list): Add more POSIX 1003.1-2001 signals.

4 years agoFix bug in flex completion style's sorting and simplify
João Távora [Sun, 22 Dec 2019 21:51:08 +0000 (22:51 +0100)]
Fix bug in flex completion style's sorting and simplify

This previous commit targetting this function introduced a bug whereby
the completion table's sorting function wouldn't be called.  That is
fixed by this commit, which also simplifies the function further: it
now skips re-sorting the completions completely if there is no
minibuffer input at all (in other words, when flex isn't doing
anything useful).

* lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify.

4 years ago* lisp/gnus/gnus-start.el: Use lexical-binding
Stefan Monnier [Sun, 22 Dec 2019 21:09:31 +0000 (16:09 -0500)]
* lisp/gnus/gnus-start.el: Use lexical-binding

(gnus-group-change-level, gnus-make-hashtable-from-newsrc-alist):
Use gnus-info-make.
(gnus-make-hashtable-from-newsrc-alist): Prefer `gnus-info-group`
to `car` when applied to a `gnus-info` object.
(gnus-make-hashtable-from-killed): Remove unused vars `lists` and `list`.
(gnus-gnus-to-quick-newsrc-format): Extract common code from if branches.

* lisp/gnus/gnus.el (gnus-info-make): New constructor.

4 years agoFix wording of recent documentation changes
Eli Zaretskii [Sun, 22 Dec 2019 19:02:48 +0000 (21:02 +0200)]
Fix wording of recent documentation changes

* src/xdisp.c (syms_of_xdisp):
* lisp/minibuffer.el (minibuffer-message-clear-timeout):
* etc/NEWS:
* doc/lispref/display.texi (Displaying Messages): Minor
changes of wording of a recent commit.  (Bug#38457)

4 years agoExtend tramp-tests.el for other host name syntax and file name syntax
Michael Albinus [Sun, 22 Dec 2019 12:48:36 +0000 (13:48 +0100)]
Extend tramp-tests.el for other host name syntax and file name syntax

* test/lisp/net/tramp-tests.el (inhibit-message)
(connection-local-criteria-alist)
(connection-local-profile-alist, async-shell-command-width): Declare.
(tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect): Set syntax to `default'.
(tramp-test03-file-name-defaults)
(tramp-test03-file-name-host-rules)
(tramp-test03-file-name-method-rules)
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name)
(tramp-test06-directory-file-name, tramp-test44-auto-load):
Skip unless syntax is `default'.
(tramp-test06-directory-file-name, tramp-test10-write-region)
(tramp-test17-dired-with-wildcards)
(tramp-test26-file-name-completion): Handle IPv6 host names.
(tramp-test21-file-links): Support all syntaxes.
(tramp-test30-make-process, tramp-test45-unload):
Suppress compiler warnings.
(tramp-test37-make-auto-save-file-name): Skip for `separate' syntax.

4 years ago* lisp/net/trampver.el (inhibit-message): Declare.
Michael Albinus [Sun, 22 Dec 2019 12:47:38 +0000 (13:47 +0100)]
* lisp/net/trampver.el (inhibit-message): Declare.

4 years agoAdd item to Frequently Asked Questions of Tramp manual
Michael Albinus [Sun, 22 Dec 2019 12:47:29 +0000 (13:47 +0100)]
Add item to Frequently Asked Questions of Tramp manual

* doc/misc/tramp.texi (Frequently Asked Questions): Add item for
ControlMaster option on proxy hosts.  Explain changing syntax to
Ange FTP.

4 years ago* lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete.
Alan Third [Sun, 22 Dec 2019 12:03:33 +0000 (12:03 +0000)]
* lisp/term/ns-win.el (ns-insert-working-text): Comment is obsolete.

4 years agoImprove sorting of flex completion style with non-nil minibuffer-default
João Távora [Sun, 22 Dec 2019 11:52:17 +0000 (12:52 +0100)]
Improve sorting of flex completion style with non-nil minibuffer-default

This affects the behaviour of flex completion when there is a default
completion and the user hasn't entered any input pattern to flex-match
against.  It is most visible when icomplete-mode or fido-mode are
being used in conjunctio.

When using M-x man, for instance, the default completion is picked
from text around point.  Say it is "emacs" (for Emacs's man page).  It
will not match the intended completion, "emacs(1)", exactly.  If the
user hasn't yet given any input to the completion prompt, that
completion should bubble to top so that
icomplete-force-complete-and-exit will select it, but it didn't.

This new approach uses 'string-prefix-p' instead of 'equal' to find
the default to bubble to the top.  This strategy could eventually be
improved, most naturally by flex-matching the default string to all
the candidates and picking the highest scoring one.

Additionally, the new strategy only considers minibuffer-default if
there is no input in the minibuffer, which seems sensible and produces
a small but noticeable speedup.

* lisp/minibuffer.el (completion--flex-adjust-metadata):
Reformulate sorting strategy.

4 years agoFix display of working text on NS (Bug#23412, Bug#1453)
Masahiro Nakamura [Wed, 18 Dec 2019 15:32:54 +0000 (00:32 +0900)]
Fix display of working text on NS (Bug#23412, Bug#1453)

* lisp/term/ns-win.el (ns-insert-working-text):
(ns-delete-working-text): Change how working text is deleted to handle
changed order of operations.
* src/nsterm.m ([EmacsView insertText:]): Move deletion of working
text until after insertion of new text.

Copyright-paperwork-exempt: yes

4 years agoCheck if file is in iCloud drive (bug#38618)
Alan Third [Tue, 17 Dec 2019 21:17:46 +0000 (21:17 +0000)]
Check if file is in iCloud drive (bug#38618)

* src/nsfns.m (ns_set_represented_filename): Check whether the file is
a `ubiquitous item', and if so don't display a proxy icon.

4 years ago* lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624)
Juri Linkov [Sat, 21 Dec 2019 23:10:56 +0000 (01:10 +0200)]
* lisp/tab-bar.el: Rename tab-bar-list to tab-switcher (bug#38624)

4 years agoNew variable set-message-function to show message at the end of the minibuffer
Juri Linkov [Sat, 21 Dec 2019 22:02:10 +0000 (00:02 +0200)]
New variable set-message-function to show message at the end of the minibuffer

* doc/lispref/display.texi (Displaying Messages): Document
set-message-function and clear-message-function.

* lisp/minibuffer.el (minibuffer-message-clear-timeout): New defcustom.
(minibuffer-message-timer, minibuffer-message-overlay): New variables.
(set-minibuffer-message, clear-minibuffer-message): New functions.
(set-message-function, clear-message-function): Set variables to
set-minibuffer-message and clear-minibuffer-message respectively.

* src/keyboard.c (read_char): Call clear_message when
Vclear_message_function is a function.

* src/xdisp.c (set_message): Call Vset_message_function when it's a function.
(clear_message): Call Vclear_message_function when it's a function.
(syms_of_xdisp): New variables set-message-function and clear-message-function
(bug#38457).

4 years agobackup-by-copying-when-privileged-mismatch applies to file gid, too.
Stephen Gildea [Fri, 20 Dec 2019 17:15:13 +0000 (09:15 -0800)]
backup-by-copying-when-privileged-mismatch applies to file gid, too.

* lisp/files.el (backup-by-copying-when-privileged-mismatch):  In addition
to checking the file uid, a second test is added: if the file gid is not
greater than backup-by-copying-when-privileged-mismatch,
backup-by-copying-when-mismatch will also be forced on.

* doc/emacs/files.texi, doc/lispref/backups.texi: Updated documentation.

Also fixed a typo in the Emacs reference manual, changing "higher" to
"no greater" so that the limit is no longer documented reversed.

4 years ago;* src/process.c (read_process_output): Fix last change.
Eli Zaretskii [Sat, 21 Dec 2019 18:18:05 +0000 (20:18 +0200)]
;* src/process.c (read_process_output): Fix last change.