Lars Ingebrigtsen [Wed, 9 Oct 2019 05:00:34 +0000 (07:00 +0200)]
Move point in the dired buffer with `n'/`p' in an image-mode buffer
* lisp/image-mode.el (image-next-file): If the image is in a dired
buffer, then move point in that buffer when advancing
(bug#21752). This makes it easier to select images.
Juanma Barranquero [Wed, 9 Oct 2019 04:15:29 +0000 (06:15 +0200)]
Fix typos in lisp/*.el
* lisp/emacs-lisp/generator.el (cps--with-value-wrapper)
(cps-inhibit-atomic-optimization, iter-close):
* lisp/gnus/nnir.el (nnir-imap-search-arguments)
(nnir-imap-search-argument-history, nnir-categorize)
(nnir-ignored-newsgroups)
(nnir-retrieve-headers-override-function)
(nnir-imap-default-search-key, nnir-namazu-additional-switches)
(gnus-group-make-nnir-group, nnir-add-result)
(nnir-compose-result, nnir-run-imap, nnir-imap-make-query)
(nnir-imap-query-to-imap, nnir-imap-expr-to-imap)
(nnir-imap-next-term, nnir-run-swish-e, nnir-run-namazu)
(nnir-read-parm, nnir-read-server-parm, nnir-search-thread):
Trivial doc fixes.
Lars Ingebrigtsen [Wed, 9 Oct 2019 04:06:24 +0000 (06:06 +0200)]
Document `letrec'
* doc/lispref/variables.texi (Local Variables): Document letrec
(bug#21048).
* lisp/subr.el (letrec): Expand the doc string slightly.
Lars Ingebrigtsen [Wed, 9 Oct 2019 03:27:03 +0000 (05:27 +0200)]
Make menu bar entries only point to named functions, not lambdas
* lisp/menu-bar.el ()
(menu-bar--display-line-numbers-mode-visual)
(menu-bar--display-line-numbers-mode-relative)
(menu-bar--display-line-numbers-mode-absolute)
(menu-bar--display-line-numbers-mode-none)
(menu-bar--visual-line-mode-enable)
(menu-bar--toggle-truncate-long-lines)
(menu-bar--wrap-long-lines-window-edge): Make lambdas into trivial
wrapper functions so that `C-h k' on the menu items work (bug#13841).
(menu-bar-showhide-line-numbers-menu)
(menu-bar-line-wrapping-menu): Use them.
Lars Ingebrigtsen [Wed, 9 Oct 2019 03:13:07 +0000 (05:13 +0200)]
Add more sanity checks to help-fns--globalized-minor-mode
* lisp/help-fns.el (help-fns--globalized-minor-mode): FUNCTION can
be a lambda, so protect against that.
Lars Ingebrigtsen [Wed, 9 Oct 2019 03:08:32 +0000 (05:08 +0200)]
Make add-face-text-property not be destructive on strings
* src/textprop.c (add_properties): Take a parameter to say whether
it's allowed to be destructive or not (bug#20153).
(add_text_properties_1): Ditto.
(Fadd_face_text_property): Use this to say that it shouldn't
modify face properties on strings destructively. This avoids
altering the face properties of one string when altering them on a
copy of the string.
Lars Ingebrigtsen [Wed, 9 Oct 2019 02:10:41 +0000 (04:10 +0200)]
Make `info-display-manual' pop up the correct frame
* lisp/info.el (info-display-manual): If the buffer is already in
a window, use that window (bug#20020).
Lars Ingebrigtsen [Wed, 9 Oct 2019 01:55:09 +0000 (03:55 +0200)]
Make a nil parameter switch variable-pitch-mode on
* lisp/face-remap.el (variable-pitch-mode): Make a nil parameter
switch the mode on instead of toggling (bug#19384).
Lars Ingebrigtsen [Wed, 9 Oct 2019 01:11:15 +0000 (03:11 +0200)]
Remove XEmacs compat code from prolog.el
* lisp/progmodes/prolog.el (prolog-mode-syntax-table)
(prolog-help-info, prolog-Info-follow-nearest-node)
(prolog-menu-help, prolog-edit-menu-runtime)
(prolog-inferior-menu-all): Remove XEmacs compat code.
Lars Ingebrigtsen [Wed, 9 Oct 2019 00:53:11 +0000 (02:53 +0200)]
Remove some XEmacs compat code from tree-widget.el
* lisp/tree-widget.el (tree-widget-themes-load-path)
(tree-widget-use-image-p, tree-widget-create-image)
(tree-widget-image-formats, tree-widget-image-properties)
(tree-widget-lookup-image): Remove XEmacs compat code.
Lars Ingebrigtsen [Wed, 9 Oct 2019 00:46:17 +0000 (02:46 +0200)]
Remove some XEmacs compat code from newst*.el
* lisp/net/newst-plainview.el
(newsticker--plainview-tool-bar-map): Remove XEmacs support.
* lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map):
Federico Tedin [Thu, 26 Sep 2019 17:18:58 +0000 (19:18 +0200)]
Filter packages by name in list-packages. (Bug#36981)
* lisp/emacs-lisp/package.el (package-menu-filter-by-name): New
function to filter packages by name.
(package-menu-clear-filter): New function to clear applied filters.
(package-menu-filter-by-keyword): Rename function from
package-menu-filter.
(package-menu--generate): Don't change 'q' binding anymore.
(package-menu-mode-map): Bind '/ n' to package-menu-filter-by-name, '/
k' to package-menu-filter-by-keyword and '/ /' to
package-menu-clear-filter.
(package-menu-mode-menu): Update menu entries for the three functions.
* test/lisp/emacs-lisp/package-tests.el (package-test-list-filter-by-name)
(package-test-list-clear-filter): New tests.
* doc/emacs/package.texi: Document usage of
package-menu-filter-by-name, package-menu-clear-filter and update
reference to package-menu-filter-by-keyword.
* etc/NEWS: Announce changes.
Hong Xu [Tue, 8 Oct 2019 16:43:47 +0000 (18:43 +0200)]
Search upward from current dir for the default TAGS file
* doc/emacs/maintaining.texi (Select Tags Table): Update the doc
of `visit-tags-table' (bug#37518).
* lisp/progmodes/etags.el (tags--find-default-tags-dir-recursively)
(visit-tags-table): Search upward from current dir for the default
TAGS file.
Stefan Kangas [Tue, 8 Oct 2019 16:30:39 +0000 (18:30 +0200)]
Fix title inconsistencies in elisp intro book
* doc/lispintro/emacs-lisp-intro.texi: Fix title
inconsistencies. (Bug#31037)
Stefan Kangas [Tue, 8 Oct 2019 14:42:05 +0000 (16:42 +0200)]
Add some more commands to eshell-visual-commands
* lisp/eshell/em-term.el (eshell-visual-commands): Add some more
commonly used commands.
Eli Zaretskii [Tue, 8 Oct 2019 13:57:23 +0000 (16:57 +0300)]
Fix crashes on TTY frames due to "C-x 6 f"
* src/xdisp.c (redisplay_internal): Revert the recent change
regarding TTY frames' garbaged flag. It is not needed.
* src/dispnew.c (adjust_frame_glyphs_for_frame_redisplay):
When returning due to mismatch between the desired and actual
dimensions of the glyph matrix, set the frame's garbaged flag
for TTY frames. This avoids crashes when we are later called
from redisplay. Reported by Ergus <spacibba@aol.com>.
Michael Albinus [Tue, 8 Oct 2019 13:41:00 +0000 (15:41 +0200)]
* etc/PROBLEMS: Describe navigation problem from Nautilus. (Bug#37573)
* lisp/userlock.el (create-lockfiles): Set `safe-local-variable' property.
Stefan Monnier [Tue, 8 Oct 2019 13:36:01 +0000 (09:36 -0400)]
* lisp/emacs-lisp/package.el (package--get-deps): Fix thinko
* test/lisp/emacs-lisp/package-tests.el (package-test-get-deps):
Adjust test to new calling convention.
Eli Zaretskii [Tue, 8 Oct 2019 13:13:21 +0000 (16:13 +0300)]
Fix aborts when opening a new font after face-cache reset
* src/font.c (font_open_for_lface): Make sure the default face
is realized before using its height for the font to be open.
(Bug#37637)
Michael Albinus [Tue, 8 Oct 2019 09:48:08 +0000 (11:48 +0200)]
* INSTALL: Describe installation of source and debug packages. (Bug#37527)
Juanma Barranquero [Tue, 8 Oct 2019 00:53:02 +0000 (02:53 +0200)]
Set default colors for tick faces
* lisp/faces.el (line-number-major-tick, line-number-minor-tick):
Set default color different from `line-number' so after customizing
the tick number variables, the ticks are immediately visible.
Suggested by Juri Linkov <juri@linkov.net>.
Basil L. Contovounesios [Wed, 17 Jul 2019 12:05:42 +0000 (13:05 +0100)]
Clarify docs on newline and auto-fill-mode
* doc/lispref/text.texi (Commands for Insertion):
* lisp/simple.el (newline): Do not mention conditions specific to
'do-auto-fill' under documentation of 'newline' (bug#36702).
Juri Linkov [Mon, 7 Oct 2019 22:28:42 +0000 (01:28 +0300)]
* lisp/tab-bar.el (tab-bar-tab-name-function): Turn defvar into defcustom.
(tab-bar-tab-name-all-windows): Rename from tab-bar-tab-name.
(tab-bar-tab-name-selected-window): New function used by default.
Stefan Kangas [Sun, 6 Oct 2019 01:08:27 +0000 (03:08 +0200)]
Add "python3 -m twine" example to comint-password-prompt tests
* test/lisp/comint-tests.el (comint-testsuite-password-strings): Add
new example for "python3 -m twine" to test suite. (Bug#37636)
Eli Zaretskii [Mon, 7 Oct 2019 18:22:03 +0000 (21:22 +0300)]
Fix a crash in TTY sessions caused by recent changes
* src/xdisp.c (redisplay_internal): Fix crashes in TTY
sessions when turning on tab-mode.
Reported by Ergus <spacibba@aol.com>.
Lars Ingebrigtsen [Mon, 7 Oct 2019 18:11:26 +0000 (20:11 +0200)]
Use text properties instead of truncating strings
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): Use
this to allow using commands like `C-s' to search for even
truncated bits.
* lisp/international/mule-util.el (truncate-string-to-width):
Allow using text properties to truncate strings instead of
actually truncating strings (bug#17782).
Lars Ingebrigtsen [Mon, 7 Oct 2019 17:44:17 +0000 (19:44 +0200)]
dired-move-to-filename doc string fix
* lisp/dired.el (dired-move-to-filename): Document the parameters
(bug#17566).
Basil L. Contovounesios [Mon, 7 Oct 2019 16:54:18 +0000 (17:54 +0100)]
Improve recent doc fix for cl-reduce
* lisp/emacs-lisp/cl-seq.el: (cl-reduce): Clarify treatment of
:INITIAL-VALUE when :FROM-END is non-nil. Improve wording when SEQ
is empty and :INITIAL-VALUE is unspecified (bug#37400). Describe
behavior when SEQ comprises a single element.
Lars Ingebrigtsen [Mon, 7 Oct 2019 16:05:58 +0000 (18:05 +0200)]
Make completion in the `E' command in *Ibuffer* work
* lisp/ibuf-ext.el (eval): Make completion (etc) work as normal
(bug#16239).
Eli Zaretskii [Mon, 7 Oct 2019 16:03:04 +0000 (19:03 +0300)]
Fix infloop in redisplay caused by a recent change
* src/xdisp.c (redisplay_internal): Avoid inflooping due to a
frame's garbaged flag being set after update_frame. Reported
by Michael Heerdegen <michael_heerdegen@web.de>.
Lars Ingebrigtsen [Mon, 7 Oct 2019 15:25:07 +0000 (17:25 +0200)]
Feval_buffer doc string lexical-binding clarification
* src/lread.c (Feval_buffer): Mention that the lexical-binding
variable is ignored in the doc string (bug#20139).
Lars Ingebrigtsen [Mon, 7 Oct 2019 15:14:10 +0000 (17:14 +0200)]
Make ido-display-buffer work interactively more like display-buffer
* lisp/ido.el (ido-display-buffer): Take an interactive parameter,
like `display-buffer' (bug#14904).
(ido-visit-buffer): Use it to emulate `C-u M-x display-buffer'.
Stefan Kangas [Wed, 2 Oct 2019 13:50:54 +0000 (15:50 +0200)]
Quadruple term-buffer-maximum-size (Bug#37584)
* lisp/term.el (term-buffer-maximum-size): Quadruple to 8192.
Wolfgang Scherer [Mon, 7 Oct 2019 04:58:59 +0000 (06:58 +0200)]
Set correct svn:ignore property for relative filenames
* lisp/vc/vc-svn.el: (vc-svn-ignore) Use svn:ignore property of
immediate parent directory for wildcard specification (bug#37216).
Paul Eggert [Mon, 7 Oct 2019 06:08:34 +0000 (23:08 -0700)]
Fix port of file-acl errno checking to non-GNU
I had misinterpreted the private email from Ashish Shukla.
* src/fileio.c (Ffile_acl): Fix typo in previous change
by negating the call to acl_errno_valid.
Lars Ingebrigtsen [Mon, 7 Oct 2019 04:53:17 +0000 (06:53 +0200)]
Fix the colours on Motif horizontal scroll bars
* src/xterm.c (x_create_horizontal_toolkit_scroll_bar): Use the
same foreground/background colours as the vertical scroll bar
(bug#37359).
Lars Ingebrigtsen [Mon, 7 Oct 2019 04:32:36 +0000 (06:32 +0200)]
cl-reduce doc fix
* lisp/emacs-lisp/cl-seq.el (cl-reduce): Clarify what happens when
SEQ is the empty list (bug#37400).
Hong Xu [Mon, 7 Oct 2019 04:13:27 +0000 (06:13 +0200)]
tags-complete-tags-table-file doc string fix
* lisp/progmodes/etags.el (tags-complete-tags-table-file): Doc
string fix (bug#37538).
Hong Xu [Mon, 7 Oct 2019 04:03:21 +0000 (06:03 +0200)]
Default FILE to the current buffer for list-tags
* doc/emacs/maintaining.texi (List Identifiers): Update
`list-tags' doc (bug#37611).
* lisp/progmodes/etags.el (list-tags)
(tags--get-current-buffer-name-in-tags-file): Default FILE to the
current buffer for list-tags.
Lars Ingebrigtsen [Mon, 7 Oct 2019 03:00:16 +0000 (05:00 +0200)]
Make mailcap-prefer-mailcap-viewers work as documented
* lisp/emacs-lisp/seq.el (seq-find): Autoload.
* lisp/net/mailcap.el (mailcap-parse-mailcaps): Note where all the
entries come from so that we can later distinguish between user
values and system values (bug#36771).
(mailcap-parse-mailcap): Take a source parameter.
(mailcap-possible-viewers): No need to sort wildcards/exact
matches; these are later sorted anyway.
(mailcap-add-mailcap-entry): Remove `after' parameter.
(mailcap-mime-info): Make mailcap-prefer-mailcap-viewers work as
documented.
Mauro Aranda [Mon, 7 Oct 2019 01:59:43 +0000 (03:59 +0200)]
Only complete words inside of the string widget
* lisp/wid-edit.el ('string widget): Peek the word that
ispell-complete-word will try to complete, and only offer completions
when the word is inside of the field (bug#11046).
Basil L. Contovounesios [Mon, 7 Oct 2019 02:02:07 +0000 (03:02 +0100)]
; * doc/misc/eww.texi (Advanced): Fix recent typo.
Mauro Aranda [Mon, 7 Oct 2019 01:36:09 +0000 (03:36 +0200)]
Fix message when no completions available for editable field
* lisp/wid-edit.el (widget-completions-at-point): Detect here if point
is not in an editable field.
(widget-complete): And here say there are no completions available
(bug#11562).
Juri Linkov [Sun, 6 Oct 2019 23:00:24 +0000 (02:00 +0300)]
Allow using last_tab_bar_item on no-x builds.
* src/frame.h (struct frame): Remove HAVE_WINDOW_SYSTEM
around last_tab_bar_item.
Juri Linkov [Sun, 6 Oct 2019 21:53:34 +0000 (00:53 +0300)]
Implement tab-close-other bound to C-x 6 1 by analogy with C-x 5 1.
* lisp/tab-bar.el (tab-close-other): New command bound to C-x 6 1.
* doc/emacs/frames.texi (Tab Bars): Document it.
Juri Linkov [Sun, 6 Oct 2019 21:08:10 +0000 (00:08 +0300)]
Use tabs in EWW (bug#37592)
* lisp/net/eww.el (eww-open-in-new-buffer): Call tab-new when tab-bar-mode
is enabled.
(eww-browse-url): Add docstring. Call tab-new when tab-bar-mode
is enabled.
* lisp/net/shr.el (shr-map): Bind [C-down-mouse-1] to
shr-mouse-browse-url-new-window.
(shr-mouse-browse-url-new-window): New command.
(shr-browse-url): Add optional arg new-window.
* doc/misc/eww.texi (Basics): Mention opening tabs on M-RET.
Stefan Monnier [Sun, 6 Oct 2019 20:00:21 +0000 (16:00 -0400)]
* eieio-core.el (eieio--full-class-object): New function.
Rather than explicitly call eieio-class-un-autoload, the autoloading is
now performed on-demand if you use eieio--full-class-object.
* lisp/emacs-lisp/eieio-core.el (eieio-class-un-autoload): Remove.
(eieio--full-class-object): New function, to replace it.
(eieio-oref, eieio--class-precedence-list):
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Use it instead of eieio-class-un-autoload.
* lisp/emacs-lisp/eieio.el (eieio-class-parents, child-of-class-p):
Load the class if needed.
Stefan Kangas [Wed, 21 Aug 2019 01:38:49 +0000 (03:38 +0200)]
Support changing font size using mouse wheel
* lisp/mwheel.el (mouse-wheel-mode): Support changing font size (text
scaling) using mouse wheel. (Bug#28182)
(mouse-wheel-scroll-amount): Bind the Ctrl modifier to text scaling.
(mwheel-installed-text-scale-bindings): New variable.
(mouse-wheel--remove-bindings): New helper function for
'mouse-wheel-mode'.
* doc/emacs/frames.texi (Mouse Commands): Document this feature.
* etc/NEWS: Announce it.
Juanma Barranquero [Sun, 6 Oct 2019 18:53:18 +0000 (20:53 +0200)]
Set alternate faces for some line numbers (bug#27734)
* lisp/faces.el (line-number-major-tick, line-number-minor-tick):
New faces.
* lisp/cus-start.el (display-line-numbers-major-tick)
(display-line-numbers-minor-tick): Add customization info.
* lisp/frame.el: Add `display-line-numbers-major-tick' and
`display-line-numbers-minor-tick' to list of variables which
should trigger redisplay of the current buffer.
* src/xdisp.c (syms_of_xdisp) <display-line-numbers-major-tick>
<display-line-numbers-major-tick>: Defvar new options.
(syms_of_xdisp) <line-number-major-tick, line-number-minor-tick>:
Defsym new faces.
(maybe_produce_line_number): Use new faces for line numbers
that are multiple of `display-line-numbers-major-tick' and
`display-line-numbers-minor-tick'.
* etc/NEWS (value): Announce new feature.
* doc/emacs/display.texi (Display Custom): Describe it. Wording by
Robert Pluim <rpluim@gmail.com>
Juri Linkov [Sun, 6 Oct 2019 18:47:24 +0000 (21:47 +0300)]
Don't bind 'C-x 6' to '2C-mode-map' globally by default.
* lisp/textmodes/two-column.el: Don't autoload global setting of
"\C-x6" to 2C-command.
* lisp/ldefs-boot.el: Update to remove setting "\C-x6" to 2C-command.
* doc/emacs/commands.texi (Keys):
* doc/emacs/text.texi (Two-Column):
* doc/lispref/keymaps.texi (Prefix Keys):
* doc/lispref/maps.texi (Standard Keymaps):
Unbind 'C-x 6' from '2C-mode-map'.
Stefan Monnier [Sun, 6 Oct 2019 17:48:28 +0000 (13:48 -0400)]
* lisp/emacs-lisp/package.el (package--get-deps): Rewrite.
Avoid inf-recursion with dependency cycles.
Remove unused `only` arg. Prune duplicates early rather than late.
(package--removable-packages): Simplify code accordingly.
Eli Zaretskii [Sun, 6 Oct 2019 16:54:58 +0000 (19:54 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Paul Eggert [Sun, 6 Oct 2019 16:53:53 +0000 (09:53 -0700)]
Port file-acl errno checking to non-GNU
Problem reported privately for FreeBSD 12 by Ashish Shukla.
* src/fileio.c (Ffile_acl): Treat EINVAL etc. like ENOTSUP if
acl_get_file fails, to port to FreeBSD 12 and other non-GNU
platforms.
Eli Zaretskii [Sun, 6 Oct 2019 16:53:18 +0000 (19:53 +0300)]
Support mouse clicks on tab bar on TTY frames
This for now doesn't work on GPM.
* src/xdisp.c (display_tab_bar): Make the loop over tab-bar
items more efficient.
(tab_bar_item_info, tool_bar_item_info): Correct data type for
CHARPOS.
(tty_get_tab_bar_item, tty_handle_tab_bar_click): New functions.
(note_mouse_highlight): Handle help-echo of tab-bar tabs on
TTY frames.
* src/w32inevt.c (do_mouse_event): Call
tty_handle_tab_bar_click to process mouse clicks on the tab bar.
* src/termchar.h (tty_handle_tab_bar_click): Add prototype.
* src/w32console.c (w32con_set_terminal_modes): Disable Quick
Edit mode on entry, to make sure mouse events get reported to
us.
Paul Eggert [Sun, 6 Oct 2019 04:23:15 +0000 (21:23 -0700)]
Fix off-by-one bug in ISO 8601 BC years
* lisp/calendar/iso8601.el (iso8601--year-match)
(iso8601--full-date-match, iso8601--without-day-match)
(iso8601--week-date-match, iso8601--ordinal-date-match)
(iso8601-parse-date):
Don’t bother to separate the year’s sign from the year,
as that distinction is not needed: ISO 8601 uses
astronomical year numbering with a year zero, which
is what the Emacs time functions use, so there’s no
need to treat nonpositive years specially.
(iso8601--adjust-year): Remove; no longer needed
since callers can just use string-to-number.
* test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years):
Adjust test case to match fixed behavior.
Paul Eggert [Sun, 6 Oct 2019 04:17:48 +0000 (21:17 -0700)]
Improve documentation for year-zero issues
* doc/emacs/calendar.texi (Calendar Systems)
* doc/lispref/os.texi (Time Conversion):
Prefer "BC" to "B.C." since the documentation generally uses "BC".
* doc/misc/emacs-mime.texi (time-date):
* lisp/calendar/time-date.el (date-to-day, time-to-days):
In the doc string, state the day origin more clearly, and more
consistently with the rest of the documentation.
* src/timefns.c (Fdecode_time): State the year origin in
the doc string.
Juri Linkov [Sat, 5 Oct 2019 21:54:46 +0000 (00:54 +0300)]
More tab bar related key bindings.
* lisp/subr.el (ctl-x-6-map, ctl-x-6-prefix): Move here from tab-bar.el
to make it available to other modes like dired for 'C-x 6 d'.
* lisp/dired.el (dired-other-tab): New command bound to 'C-x 6 d'.
* lisp/tab-bar.el: Bind 'C-x 6 o' to tab-next.
* doc/emacs/frames.texi (Tab Bars): Describe C-x 6 prefix key bindings.
Juri Linkov [Sat, 5 Oct 2019 21:50:19 +0000 (00:50 +0300)]
* lisp/tab-bar.el: In tab switching allow absolute and relative args.
* lisp/tab-bar.el (tab-bar-tab-hints): New defcustom.
(tab-bar-make-keymap-1): Use tab-bar-tab-hints.
(tab-bar--tab, tab-bar--current-tab, tab-bar--current-tab-index)
(tab-bar--tab-index, tab-bar--tab-index-by-name): New internal functions.
(tab-bar-select-tab): Use arg as absolute position of tab to select.
(tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab): Use arg
as offset relative to the current tab.
(tab-bar-switch-to-tab): New command.
(tab-bar-new-tab): Simplify by using cl-pushnew.
(tab-bar-close-current-tab): Remove (the current tab is closed
by nil arg of tab-bar-close-tab).
(tab-bar-close-tab): Use arg as absolute position of tab to close.
(tab-bar-close-tab-by-name): New command.
Artyom Loenko [Sat, 5 Oct 2019 16:49:23 +0000 (17:49 +0100)]
Include new permission settings for macOS 10.15 (bug#37551)
* nextstep/templates/Info.plist.in
(NSDesktopFolderUsageDescription):
(NSDocumentsFolderUsageDescription):
(NSDownloadsFolderUsageDescription):
(NSRemovableVolumesUsageDescription): Add description to enable
setting in macOS 10.15.
Copyright-paperwork-exempt: yes
Paul Smith [Sat, 5 Oct 2019 19:29:04 +0000 (12:29 -0700)]
Support GNU make error messages in compile mode.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Match GNU make error messages.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data):
Test GNU make error message matching.
(compile-test-error-regexps): Update count of infos found.
Lars Ingebrigtsen [Sat, 5 Oct 2019 15:01:33 +0000 (17:01 +0200)]
Remove some XEmacs compat code from the CEDET tests
Lars Ingebrigtsen [Sat, 5 Oct 2019 14:59:13 +0000 (16:59 +0200)]
Remove some XEmacs compat code from esh*.el
* lisp/eshell/esh-util.el: Remove some XEmacs compat functions.
Lars Ingebrigtsen [Sat, 5 Oct 2019 14:54:57 +0000 (16:54 +0200)]
Remove more XEmacs compat code from ezimage.el
* lisp/ezimage.el (ezimage-use-images)
(ezimage-insert-over-text): Remove XEmacs compat code.
Lars Ingebrigtsen [Sat, 5 Oct 2019 14:50:16 +0000 (16:50 +0200)]
Fix typo in frames.texi xref
* doc/emacs/frames.texi (Tab Bars): Fix typo in xref.
Lars Ingebrigtsen [Sat, 5 Oct 2019 14:48:44 +0000 (16:48 +0200)]
Remove most of the XEmacs compat code from ediff*.el
* lisp/vc/ediff-diff.el (ediff-word-1): Remove XEmacs compat code
and declare compatibility functions for obsolete. Adjust all callers.
* lisp/vc/ediff-help.el (ediff-set-help-overlays):
* lisp/vc/ediff-hook.el:
(menu-bar-ediff-misc-menu, menu-bar-ediff-merge-menu)
(menu-bar-ediff-menu, menu-bar-ediff-merge-menu)
(menu-bar-epatch-menu, menu-bar-ediff-misc-menu):
* lisp/vc/ediff-init.el (ediff-device-type)
(ediff-window-display-p, ediff-has-face-support-p)
(ediff-has-toolbar-support-p, ediff-has-gutter-support-p)
(ediff-BAD-INFO, ediff-coding-system-for-write)
(ediff-read-event, ediff-overlayp, ediff-make-overlay)
(ediff-delete-overlay, ediff-color-display-p)
(ediff-display-pixel-width, ediff-display-pixel-height)
(ediff-region-help-echo, ediff-set-face-pixmap)
(ediff-paint-background-regions-in-one-buffer)
(ediff-clear-fine-diff-vector, ediff-mouse-event-p)
(ediff-key-press-event-p, ediff-event-point, )
(ediff-event-buffer, ediff-event-key, ediff-last-command-char)
(ediff-frame-iconified-p, ediff-frame-char-width)
(ediff-reset-mouse, ediff-frame-char-height)
(ediff-overlay-start, ediff-overlay-end, ediff-overlay-buffer)
(ediff-overlay-get, ediff-move-overlay, ediff-overlay-put)
(ediff-abbreviate-file-name):
* lisp/vc/ediff-mult.el (ediff-next-meta-item)
(ediff-previous-meta-item)
(ediff-replace-session-activity-marker-in-meta-buffer)
(ediff-replace-session-status-in-meta-buffer)
(ediff-redraw-directory-group-buffer)
(ediff-update-markers-in-dir-meta-buffer)
(ediff-update-session-marker-in-dir-meta-buffer)
(ediff-redraw-registry-buffer, ediff-set-meta-overlay)
(ediff-update-meta-buffer, ediff-get-meta-info)
(ediff-get-meta-overlay-at-pos, )
(ediff-get-session-number-at-pos, )
(ediff-next-meta-overlay-start)
(ediff-previous-meta-overlay-start, )
(ediff-meta-mark-equal-files):
* lisp/vc/ediff-util.el:
(ediff-setup, ediff-setup-control-buffer, ediff-recenter)
(ediff-recenter-one-window, ediff-toggle-read-only)
(ediff-file-checked-out-p, ediff-file-checked-in-p)
(ediff-toggle-wide-display, ediff-toggle-multiframe)
(ediff-toggle-use-toolbar, ediff-kill-bottom-toolbar)
(ediff-visible-region, ediff-scroll-vertically)
(ediff-scroll-horizontally, ediff-jump-to-difference-at-point)
(ediff-diff-to-diff, ediff-restore-diff)
(ediff-toggle-regexp-match, ediff-really-quit)
(ediff-cleanup-mess, ediff-highlight-diff-in-one-buffer)
(ediff-unhighlight-diffs-totally-in-one-buffer)
(ediff-save-buffer, ediff-make-cloned-buffer)
(ediff-make-indirect-buffer, ediff-remove-flags-from-buffer)
(ediff-place-flags-in-buffer1, ediff-get-diff-posn)
(ediff-clear-diff-vector, ediff-make-bullet-proof-overlay)
(ediff-submit-report, ediff-deactivate-mark)
(ediff-activate-mark, ediff-profile, ediff-print-diff-vector):
* lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
(ediff-get-window-by-clicking, ediff-select-lowest-window)
(ediff-setup-windows-plain-merge)
(ediff-setup-windows-plain-compare, ediff-setup-control-frame)
(ediff-destroy-control-frame, ediff-make-frame-position)
(ediff-make-wide-display, ediff-get-visible-buffer-window):
* lisp/vc/ediff.el (ediff-version, ediff-documentation):
Eli Zaretskii [Sat, 5 Oct 2019 13:03:43 +0000 (16:03 +0300)]
Improve documentation of Tab bars
* doc/emacs/frames.texi (Menu Bars, Tool Bars, Tab Bars):
Don't start index entries from a capital letter.
(Tab Bars): Improve wording and indexing.
* etc/NEWS: Improve documentation of Tab bars.
Eli Zaretskii [Sat, 5 Oct 2019 12:02:46 +0000 (15:02 +0300)]
Fix display of cursor in obscure use case on MS-Windows
* src/xdisp.c (redisplay_internal): Detect when the frame
becomes garbaged inside the call to update_frame, and redraw
the frame in that case. (Bug#37579)
Philipp Stephani [Sat, 5 Oct 2019 11:00:08 +0000 (13:00 +0200)]
* src/fns.c (Flocale_info): Avoid fixnum overflow under ASan.
Philipp Stephani [Sat, 5 Oct 2019 10:34:13 +0000 (12:34 +0200)]
* src/pdumper.c (dump_buffer): Update structure hash.
Paul Eggert [Sat, 5 Oct 2019 10:14:54 +0000 (03:14 -0700)]
Omit one more superfluous "-" in regexp
Problem reported by Mattias Engdegård.
* lisp/language/indian.el (gurmukhi-composable-pattern):
Omit unnecessary "-".
Dmitry Gutov [Sat, 5 Oct 2019 09:32:11 +0000 (12:32 +0300)]
(project--vc-list-files): Make sure to expand file names
* lisp/progmodes/project.el (project--vc-list-files): Make sure to
expand file names. Turns out, Grep doesn't like abbreviated ones.
Eli Zaretskii [Sat, 5 Oct 2019 08:59:55 +0000 (11:59 +0300)]
Fix vertical scrolling in image-mode
* lisp/image-mode.el (image-set-window-vscroll): Interpret the
argument VSCROLL value in pixel units.
(image-mode-reapply-winprops): Interpret the 'vscroll'
property value in pixel units.
(image-next-line): Scroll the image with pixel resolution.
(image-eob): Set the image vscroll in pixels. (Bug#37578)
Juanma Barranquero [Fri, 4 Oct 2019 22:31:17 +0000 (00:31 +0200)]
Improve docstrings auto-generated by `define-minor-mode'
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
When using `easy-mmode--arg-docstring' to auto-generate a
docstring, refill it up to `emacs-lisp-docstring-fill-column'.
Eric Abrahamsen [Thu, 3 Oct 2019 23:21:02 +0000 (16:21 -0700)]
Don't manipulate gnus-newsrc-alist if it hasn't been initalized
* lisp/gnus/gnus-group.el (gnus-group-set-info): Packages that use
Gnus summary mode without actually booting Gnus might end up in this
situation. See bug#36903
Paul Eggert [Fri, 4 Oct 2019 21:38:22 +0000 (14:38 -0700)]
Fix bugs found by 2019-09-29 regexp scanner
Problems reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-09/threads.html
* lisp/calendar/iso8601.el (iso8601--year-match)
(iso8601--full-date-match, iso8601--without-day-match)
(iso8601--week-date-match, iso8601--ordinal-date-match)
(iso8601--zone-match):
* lisp/textmodes/rst.el (rst-re-alist-def):
Put ‘-’ at the end of bracketed ranges, following the style
suggestion in the Elisp manual.
(iso8601--time-match): Use \([0-9]*\) instead of \([0-9]+\)?
to pacify the regexp scanner.
(iso8601-parse-time): Adjust accordingly.
* lisp/language/burmese.el (burmese-composable-pattern):
* lisp/language/indian.el (devanagari-composable-pattern)
(bengali-composable-pattern, gurmukhi-composable-pattern)
(gujarati-composable-pattern, oriya-composable-pattern)
(telugu-composable-pattern, kannada-composable-pattern)
(malayalam-composable-pattern):
Prefer [ab] to [a-b] when the characters differ by 1,
to pacify the regexp scanner.
* lisp/language/burmese.el (burmese-composable-pattern):
Fix missing-‘\u’ typos.
* lisp/language/indian.el (gurmukhi-composable-pattern):
Fix missing-‘\’ typo.
* lisp/language/tibetan.el (tibetan-regexp):
Quote ‘+’ in regexp to pacify the regexp scanner. Simplify.
* lisp/textmodes/rst.el (rst-re-alist-def): Fix ‘[]-'...]’
typo by putting the ‘-’ at end of the bracketed expression.
Paul Eggert [Fri, 4 Oct 2019 19:30:28 +0000 (12:30 -0700)]
Minor style tweaks for recent tab changes
* src/dispextern.h (MR_PARTIALLY_VISIBLE_AT_TOP):
* src/window.c (Fwindow_mode_line_height)
(Fwindow_header_line_height, Fwindow_tab_line_height)
(Fwindow_right_divider_width, Fwindow_bottom_divider_width)
(Fwindow_scroll_bar_width, Fwindow_scroll_bar_height):
(Fset_window_configuration, Fcurrent_window_configuration):
Omit unnecessary parens.
* src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
(CURRENT_HEADER_LINE_HEIGHT, CURRENT_TAB_LINE_HEIGHT):
Add parens needed to make these macros function-like.
* src/window.c (window_resize_check):
* src/window.h (WINDOW_TAB_BAR_P):
* src/xdisp.c (tab_bar_item_info): Reindent.
* src/window.c (window_wants_mode_line)
(window_wants_header_line, window_wants_tab_line):
Simplify (a && b ? 1 : 0) to (a && b).
Stefan Kangas [Fri, 9 Aug 2019 07:39:16 +0000 (09:39 +0200)]
Make mouse scroll show a message instead of dinging at buffer limits
* lisp/mwheel.el (mwheel-scroll): Show a message instead of dinging at
end of buffer and beginning of buffer. This should be less intrusive,
especially when using a trackpad. (Bug#16196)
Stefan Kangas [Tue, 20 Aug 2019 17:04:16 +0000 (19:04 +0200)]
Bind Scroll_Lock to scroll-lock-mode globally
* lisp/bindings.el (global-map): Bind Scroll_Lock to
scroll-lock-mode. (Bug#6861)
* lisp/scroll-lock.el (scroll-lock-mode): Note that the binding will
not work if 'w32-scroll-lock-modifier' is non-nil.
* etc/NEWS: Announce it.
Stefan Kangas [Mon, 16 Sep 2019 21:42:56 +0000 (23:42 +0200)]
Add tests for secure-hash and improve doc string (Bug#37420)
* src/fns.c (Fsecure_hash_algorithms): Fix typo.
(Fsecure_hash): Add algorithm list to doc string.
* test/src/fns-tests.el (test-secure-hash): New test.
Stefan Kangas [Thu, 26 Sep 2019 10:31:37 +0000 (12:31 +0200)]
Declare unused vhdl code in align.el obsolete
* lisp/align.el (align-vhdl-rules-list, align-set-vhdl-rules): Declare
obsolete. (Bug#6207)
(align-dq-string-modes, align-open-comment-modes): Move vhdl-mode to
definition instead of adding it later.
Mattias Engdegård [Fri, 4 Oct 2019 13:29:31 +0000 (15:29 +0200)]
Fix error in gnu compilation-mode regexp (bug#37582)
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Fix a mistake introduced when the regexp was translated to rx.
* test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data)
(compile-test-error-regexps): Add test case.
* etc/compilation.txt: Add example.
Mattias Engdegård [Fri, 4 Oct 2019 13:23:13 +0000 (15:23 +0200)]
Make compile-tests re-runnable
* test/lisp/progmodes/compile-tests.el (compile-test-error-regexps):
Don't rely on compilation-num-errors (etc) all being zero, which they
aren't if the test has been run before.
(compile-tests--test-regexps-data): Change defvar to defconst.
Lars Ingebrigtsen [Fri, 4 Oct 2019 13:29:30 +0000 (15:29 +0200)]
Remove semantic-make-local-hook call from CEDET
* lisp/cedet/semantic/wisent/grammar.el
(wisent-grammar-setupcode-builder):
* lisp/cedet/semantic/util-modes.el (semantic-highlight-edits-mode)
(semantic-show-unmatched-syntax-mode)
(semantic-show-parser-state-mode):
* lisp/cedet/semantic/mru-bookmark.el (semantic-mru-bookmark-mode):
* lisp/cedet/semantic/imenu.el (semantic-create-imenu-index):
* lisp/cedet/semantic/grammar.el (semantic-grammar-mode):
* lisp/cedet/semantic/grammar-wy.el
(semantic-grammar-wy--install-parser):
* lisp/cedet/semantic/decorate/mode.el
(semantic-decorate-add-pending-decoration)
(semantic-decoration-mode):
* lisp/cedet/semantic.el (semantic--set-buffer-cache): Remove all
calls to the function.
* lisp/cedet/semantic/fw.el (semantic-make-local-hook): Made
obsolete alias for #'ignore by removing XEmacs compat code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 13:24:42 +0000 (15:24 +0200)]
Remove some XEmacs compat code from ispell.el
* lisp/textmodes/ispell.el (ispell-word): Remove XEmacs compat code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 13:23:54 +0000 (15:23 +0200)]
Remove some XEmacs compat code from ezimage.el
* lisp/ezimage.el (defezimage): Remove XEmacs compat code.
Stefan Kangas [Fri, 4 Oct 2019 00:20:28 +0000 (02:20 +0200)]
Remove XEmacs compat code from re-builder.el
* lisp/emacs-lisp/re-builder.el (top-level)
(reb-color-display-p): Remove XEmacs compat code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 13:20:41 +0000 (15:20 +0200)]
Remove some XEmacs compat code from ediff*.el
* lisp/vc/ediff-diff.el (ediff-goto-word): Ditto.
* lisp/vc/ediff-init.el (ediff-has-face-support-p)
(ediff-current-diff-A, ediff-current-diff-B)
(ediff-current-diff-C, ediff-current-diff-Ancestor)
(ediff-fine-diff-A, ediff-fine-diff-B, ediff-fine-diff-C)
(ediff-fine-diff-Ancestor, ediff-even-diff-A)
(ediff-even-diff-B, ediff-even-diff-C)
(ediff-even-diff-Ancestor, ediff-odd-diff-A, ediff-odd-diff-B)
(ediff-odd-diff-C, ediff-odd-diff-Ancestor)
(ediff-with-syntax-table): Ditto.
* lisp/vc/ediff-mult.el (ediff-dir-diffs-buffer-map)
(ediff-setup-meta-map, ediff-set-meta-overlay): Ditto.
* lisp/vc/ediff-util.el (ediff-setup-keymap)
(ediff-toggle-wide-display, ediff-toggle-multiframe)
(ediff-toggle-use-toolbar, ediff-really-quit)
(ediff-good-frame-under-mouse)
(ediff-make-bullet-proof-overlay): Ditto.
* lisp/vc/ediff-wind.el (ediff-setup-control-frame)
(ediff-refresh-control-frame): Remove XEmacs compat code.
Stefan Monnier [Fri, 4 Oct 2019 12:56:18 +0000 (08:56 -0400)]
* lisp/subr.el (generate-new-buffer): Move (from files.el) before first use
(with-temp-file, with-output-to-string): Use it.
* lisp/files.el (generate-new-buffer): Move to subr.el.
Dmitry Gutov [Fri, 4 Oct 2019 12:50:16 +0000 (15:50 +0300)]
(project--vc-list-files): Optimize the Hg implementation
* lisp/progmodes/project.el (project--vc-list-files):
Optimize the Hg implementation.
Lars Ingebrigtsen [Fri, 4 Oct 2019 12:44:34 +0000 (14:44 +0200)]
Remove some more XEmacs compat code from viper*.el
* lisp/emulation/viper-ex.el (viper-ex-read-file-name): Ditto.
* lisp/emulation/viper-init.el (viper-ms-style-os-p)
(viper-has-face-support-p, viper-deactivate-input-method)
(viper-activate-input-method, viper-set-input-method): Ditto.
* lisp/emulation/viper-util.el
(viper-get-saved-cursor-color-in-replace-mode)
(viper-get-saved-cursor-color-in-insert-mode)
(viper-get-saved-cursor-color-in-emacs-mode)
(viper-set-replace-overlay, viper-key-to-emacs-key)
(viper-set-unread-command-events): Ditto.
* lisp/emulation/viper.el (viper-go-away, viper-set-hooks)
(viper-non-hook-settings): Remove XEmacs compat code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 12:29:58 +0000 (14:29 +0200)]
Remove more XEmacs compat code from viper-*.el
* lisp/emulation/viper-cmd.el (viper-special-read-and-insert-char)
(viper-next-line-carefully, viper-next-line)
(viper-previous-line): Ditto.
* lisp/emulation/viper-mous.el (viper-surrounding-word)
(viper-parse-mouse-key): Remove XEmacs compat code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 12:25:17 +0000 (14:25 +0200)]
Remove XEmacs-only code from snake.el
* lisp/play/snake.el (snake-mode): Remove XEmacs-only code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 12:24:36 +0000 (14:24 +0200)]
Remove XEmacs code from tetris.el
* lisp/play/tetris.el (tetris-mode): Remove XEmacs-only code.
Lars Ingebrigtsen [Fri, 4 Oct 2019 12:22:41 +0000 (14:22 +0200)]
Remove XEmacs compat code from idlw-shell.el
* lisp/progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
Make into obsolete alias.
(idlwave-shell-temp-file): Adjust callers.
Juanma Barranquero [Fri, 4 Oct 2019 12:02:13 +0000 (14:02 +0200)]
Revert "Improve docstrings auto-generated by `define-minor-mode'"
This reverts commit
a397fa06d18d6ae37a3a1288f269e1ae9eb3b569.
The original change breaks bootstrapping because of a circular dependency.
Dmitry Gutov [Fri, 4 Oct 2019 08:29:49 +0000 (11:29 +0300)]
; Fix reported warnings
Dmitry Gutov [Fri, 4 Oct 2019 08:08:38 +0000 (11:08 +0300)]
Use file-name-as-directory
* lisp/progmodes/project.el (project--vc-list-files): Use
file-name-as-directory, to be on the safe side.
Stefan Kangas [Thu, 3 Oct 2019 23:54:56 +0000 (01:54 +0200)]
Remove more XEmacs compat code in cperl-mode.el
* lisp/progmodes/cperl-mode.el (condition-case, cperl-problems)
(cperl-problems-old-emaxen, cperl-init-faces)
(cperl-word-at-point): Remove more XEmacs compat code.
Juanma Barranquero [Thu, 3 Oct 2019 23:26:07 +0000 (01:26 +0200)]
Improve docstrings auto-generated by `define-minor-mode'
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--mode-docstring):
When using `easy-mmode--arg-docstring' to auto-generate a
docstring, refill it up to `emacs-lisp-docstring-fill-column'.
Stefan Kangas [Sun, 22 Sep 2019 00:21:54 +0000 (02:21 +0200)]
More doc fixes in package.el (Bug#37544)
* lisp/emacs-lisp/package.el (package-menu-hide-low-priority)
(package-pinned-packages, package-load-descriptor)
package-archive-version, package-archive-contents)
package--read-archive-file, package-read-archive-contents)
(package-unsigned-archives, package-read-all-archive-contents)
(package--download-and-read-archives, package-install):
* lisp/subr.el (package--description-file):
* test/lisp/emacs-lisp/package-tests.el: Doc fixes.