Tomas Nordin [Mon, 14 Dec 2020 15:58:07 +0000 (16:58 +0100)]
Fix narrow-to-defun in python-mode
* lisp/progmodes/python.el (python-nav--beginning-of-defun): Make
narrow-to-defun work better in classes (bug#40563).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Mon, 14 Dec 2020 15:44:00 +0000 (16:44 +0100)]
Add a new recursively bound `current-minibuffer-command' variable
* doc/lispref/commands.texi (Command Loop Info): Document it
(bug#45177).
* src/callint.c (Fcall_interactively): Bind it.
* src/keyboard.c (syms_of_keyboard): Define
current-minibuffer-command.
Ulrich Ölmann [Mon, 14 Dec 2020 15:02:54 +0000 (16:02 +0100)]
Add a DirectoryMode to the Emacs Server example
* doc/emacs/misc.texi (Emacs Server): Update example
* doc/emacs/misc.texi (Emacs Server): The socket containing directory
is per default created with permissions 0755 by the socket-unit.
However this is considered unsafe since commit [1], so enhance unit
example with systemd configuration directive `DirectoryMode=' to
create it with safe permissions, see
https://www.freedesktop.org/software/systemd/man/systemd.socket.html#DirectoryMode=
[1] 2003-04-12 "(server-socket-name): Use new safe location for socket."
Copyright-paperwork-exempt: yes
Stefan Kangas [Mon, 14 Dec 2020 15:23:51 +0000 (16:23 +0100)]
Update value of frame-title-format in FAQ
* doc/misc/efaq.texi (Displaying the current file name in the
titlebar): Fix default value of frame-title-format.
Stefan Kangas [Mon, 14 Dec 2020 15:22:22 +0000 (16:22 +0100)]
Don't recommend setnu and wb-line-number
* doc/misc/efaq.texi (Displaying the current line or column): Remove
reference to third-party alternatives to display-line-numbers-mode.
Stefan Kangas [Mon, 14 Dec 2020 14:48:38 +0000 (15:48 +0100)]
Remove more references to old versions from FAQ
* doc/misc/efaq.texi (Learning how to do something)
(Installing Emacs, Emacs for GNUstep, Emacs for macOS): Remove more
references to Emacs 22 and older from FAQ.
Stefan Kangas [Mon, 14 Dec 2020 14:16:13 +0000 (15:16 +0100)]
Make XEmacs compat variable warning-level-aliases obsolete
* lisp/emacs-lisp/warnings.el (warning-level-aliases): Make obsolete.
(display-warning): Warn when using one of the warning levels defined
in above obsolete variable. (Bug#44849)
* lisp/url/url-proxy.el (url-find-proxy-for-url): Replace obsolete
warning type 'critical with :error.
Stefan Kangas [Mon, 14 Dec 2020 14:09:14 +0000 (15:09 +0100)]
Prefer setq to set+quote
* lisp/cedet/semantic/senator.el (senator-lazy-highlight-update):
* lisp/emulation/edt.el (edt-find, edt-restore-key)
(edt-remember):
* lisp/eshell/em-ls.el (eshell-ls--insert-directory):
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
* lisp/progmodes/hideif.el (hide-ifdef-mode):
* test/lisp/url/url-future-tests.el (url-future-tests): Prefer setq to
set+quote.
Stefan Kangas [Mon, 14 Dec 2020 13:52:46 +0000 (14:52 +0100)]
* lisp/bookmark.el: Doc fix.
Mattias Engdegård [Mon, 14 Dec 2020 11:31:54 +0000 (12:31 +0100)]
; * lisp/progmodes/project.el (project-switch-use-entire-map): Typo
Torsten Hilbrich [Mon, 14 Dec 2020 11:09:41 +0000 (12:09 +0100)]
Merge branch 'feature/integration-of-dictionary-el'
b6227446d9 Importing dictionary module
658ec3ccee Renamed connection.el
e2ebffdd62 Renamed link.el
723906c444 Removed some compability parts in dictionary
5dc17d73b0 Add :version tag to defcustom statement
49c250b388 Dont't check coding-system-list for existence
99a7e918c8 Don't check for existence of
defface
1773b9b687 Dictionary now uses button
329b6a0210 Adding details page for dictionary
837505075c Fix dictionary tooltip mode
2f1e4fbc42 Support nil value for dictionary-server
91ff1c8f7c Move placement of dictionary-tooltip-mouse-event
28fe134971 Remove text property from empty line
7ca331a4f9 Add history of search words to read-string
d5a4da25b0 * lisp/net/dictionary.el: Remove remnants of package
cc5f280378 * lisp/net/dictionary.el: Add lexical-binding:t
09952ce434 Removed useless check for popup-menu
81ebe86d8d Show error message when asking to match for nothing
0044a2e888 * lisp/net/dictionary-connection.el: Add lexical-binding:t
f58443780c * lisp/net/dictionary-connection.el: Remove obsolete Version
54a3964e29 Update GPL version
a557a103cc * lisp/net/dictionary-connection.el: Prefer defsubst
ffa7d6671d * lisp/net/dictionary.el: Prefer defsubst over defmacro
4deb8618e4 * lisp/net/dictionary.el (dictionary-mode): Use setq-local
d30618cbc1 * lisp/net/dictionary.el (dictionary-tooltip-mode): Use ...
a25a12ddaf Use when where else case returns nil
89e9c1686e * lisp/net/dictionary.el (dictionary-display-more-info): ...
d466231c3e A number of docstring fixes
b18217eb87 A number of docstring fixes
ca0de4d1e0 * etc/NEWS: Add entry for dictionary.el
62d14e10f9 * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing
Torsten Hilbrich [Mon, 14 Dec 2020 10:44:12 +0000 (11:44 +0100)]
* lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing
Let all the buttons begins with an upper-case character and the rest of
the text is lower-case.
Torsten Hilbrich [Mon, 14 Dec 2020 10:31:51 +0000 (11:31 +0100)]
* etc/NEWS: Add entry for dictionary.el
Torsten Hilbrich [Mon, 14 Dec 2020 10:09:22 +0000 (11:09 +0100)]
A number of docstring fixes
* lisp/net/dictionary-connection.el (dictionary-connection-p,
dictionary-connection-read-point, dictionary-connection-process,
dictionary-connection-buffer, dictionary-connection-set-read-point,
dictionary-connection-set-process, dictionary-connection-set-buffer,
dictionary-connection-create-data, dictionary-connection-open,
dictionary-connection-status, dictionary-connection-close,
dictionary-connection-send, dictionary-connection-send-crlf,
dictionary-connection-read, dictionary-connection-read-crlf,
dictionary-connection-read-to-point): Fix docstring
Torsten Hilbrich [Mon, 14 Dec 2020 09:55:35 +0000 (10:55 +0100)]
A number of docstring fixes
* lisp/net/dictionary.el (dictionary-set-server-var, dictionary-mode,
dictionary, dictionary-new-buffer, dictionary-reply-code,
dictionary-reply, dictionary-reply-list, dictionary-open-server,
dictionary-check-connection, dictionary-mode-p, dictionary-close,
dictionary-read-reply, dictionary-split-string,
dictionary-read-reply-and-split, dictionary-read-answer,
dictionary-check-reply, dictionary-coding-system,
dictionary-decode-charset, dictionary-encode-charset,
dictionary-check-initial-reply, dictionary-store-state,
dictionary-restore-state, dictionary-new-search,
dictionary-new-search-internal, dictionary-do-search,
dictionary-pre-buffer, dictionary-post-buffer,
dictionary-display-search-result, dictionary-display-word-entry,
dictionary-display-word-definition, dictionary-mark-reference,
dictionary-select-dictionary, dictionary-display-dictionarys,
dictionary-display-dictionary-line, dictionary-set-dictionary,
dictionary-special-dictionary, dictionary-display-more-info,
dictionary-select-strategy, dictionary-do-select-strategy,
dictionary-display-strategies, dictionary-display-strategy-line,
dictionary-set-strategy, dictionary-new-matching,
dictionary-do-matching, dictionary-display-only-match-result,
dictionary-display-match-result, dictionary-display-match-result,
dictionary-display-match-lines, dictionary-search,
dictionary-previous, dictionary-help, dictionary-match-words,
dictionary-mouse-popup-matching-words,
dictionary-popup-matching-words, dictionary-tooltip-mode,
dictionary-tooltip-mouse-event): Fix docstring
The following kind of changes were made:
- finish first line with a full stop (.)
- mention parameter in upper-case whenever possible (considering the
length constraints)
Torsten Hilbrich [Mon, 14 Dec 2020 08:52:23 +0000 (09:52 +0100)]
* lisp/net/dictionary.el (dictionary-display-more-info): Spelling fix
Fix the spelling in the error message for non-existing dictionary.
Torsten Hilbrich [Mon, 14 Dec 2020 08:48:26 +0000 (09:48 +0100)]
Use when where else case returns nil
* lisp/net/dictionary-connection.el (dictionary-connection-status,
dictionary-connection-close): Instead of returning nil in the else case
of the if just use when.
Was suggested by Stefan Kangas.
Torsten Hilbrich [Mon, 14 Dec 2020 08:40:33 +0000 (09:40 +0100)]
* lisp/net/dictionary.el (dictionary-tooltip-mode): Use setq-local
Torsten Hilbrich [Mon, 14 Dec 2020 08:40:33 +0000 (09:40 +0100)]
* lisp/net/dictionary.el (dictionary-mode): Use setq-local
Torsten Hilbrich [Mon, 14 Dec 2020 08:34:44 +0000 (09:34 +0100)]
* lisp/net/dictionary.el: Prefer defsubst over defmacro
Torsten Hilbrich [Mon, 14 Dec 2020 08:31:28 +0000 (09:31 +0100)]
* lisp/net/dictionary-connection.el: Prefer defsubst
Use defsubst instead of defmacro here. It was suggested by Stefan
Kangas to replace the defmacro here and, looking at the lispref,
defsubst seems to be a suitable replacement providing the same
benefit of inlining functionality as the defmacro.
Torsten Hilbrich [Thu, 19 Nov 2020 20:50:50 +0000 (21:50 +0100)]
Update GPL version
* lisp/net/dictionary.el: Use GPL version 3 or later
* lisp/net/dictionary-connection.el: Use GPL version 3 or later
Torsten Hilbrich [Thu, 19 Nov 2020 20:49:18 +0000 (21:49 +0100)]
* lisp/net/dictionary-connection.el: Remove obsolete Version
Torsten Hilbrich [Thu, 19 Nov 2020 20:48:29 +0000 (21:48 +0100)]
* lisp/net/dictionary-connection.el: Add lexical-binding:t
Torsten Hilbrich [Thu, 19 Nov 2020 20:45:25 +0000 (21:45 +0100)]
Show error message when asking to match for nothing
* lisp/net/dictionary.el (dictionary-popup-matching-words): Show error
if neither the parameter nor the word at point are defined
This avoids an error later on when the nil value is used as string
within dictionary-encode-charset.
Torsten Hilbrich [Thu, 19 Nov 2020 20:40:45 +0000 (21:40 +0100)]
Removed useless check for popup-menu
* lisp/net/dictionary.el (dictionary-popup-matching-words): No need to
check for popup-menu, the code is part of Emacs now and the function
should always be there
Torsten Hilbrich [Thu, 19 Nov 2020 20:39:10 +0000 (21:39 +0100)]
* lisp/net/dictionary.el: Add lexical-binding:t
Fixing all the issues found by this. A number of unused variables were
reported here.
Gabriel do Nascimento Ribeiro [Sun, 13 Dec 2020 18:35:46 +0000 (15:35 -0300)]
New option tab-bar-history-buttons-show
* lisp/tab-bar.el (tab-bar-history-buttons-show): If true,
show back and forward buttons when tab-bar-history-mode
is enabled. (Bug#45227)
Copyright-paperwork-exempt: yes
Juri Linkov [Mon, 14 Dec 2020 08:52:05 +0000 (10:52 +0200)]
Allow creating a new tab for tab-switcher from the minibuffer (bug#45072)
* lisp/tab-bar.el (tab-switcher): Simplify by let-binding
tab-bar-new-tab-choice to t before calling tab-bar-new-tab
that handles the case when it's called in the active minibuffer.
Juri Linkov [Mon, 14 Dec 2020 08:44:04 +0000 (10:44 +0200)]
Don't show matches with no input for nil icomplete-show-matches-on-no-input
* lisp/icomplete.el (icomplete-show-matches-on-no-input): Fix docstring.
(icomplete--initial-input): New internal variable.
(icomplete-minibuffer-setup): Set buffer-local
icomplete--initial-input to icomplete--field-string.
(icomplete-ret, icomplete-force-complete-and-exit)
(icomplete--sorted-completions, icomplete-exhibit):
Compare icomplete--initial-input with icomplete--field-string
to detect no input. (Bug#19031)
etc/NEWS: Remove duplicate entry.
João Távora [Sun, 13 Dec 2020 23:08:42 +0000 (23:08 +0000)]
Inhibit quit in ElDoc timer functions (bug#45117)
The point of un-inhibiting it was to make ElDoc backends interruptible
with any input (as in while-no-input), since that should in principle
invalidate the need of the current ElDoc processing. But that
strategy is dangerous for backends that perform complex
synchronization with external processes. Better let each backend
decide for itself it needs this eager interruptive behavior, like is
presumably the case with the Octave backend.
This reverts a part of
commit
12e922156c86a26fa4bb2cb9e7d2b3fd639e4707
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Date: Tue Dec 4 18:15:44 2018 -0500
* lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
* lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use
while-no-input.
Dmitry Gutov [Sun, 13 Dec 2020 20:50:46 +0000 (22:50 +0200)]
Remove the duplication from project-switch-commands's config
Based on an older patch by Philip K (https://debbugs.gnu.org/41890#127).
* lisp/progmodes/project.el: (project-switch-commands): Change to
'defcustom', alter the value format, add :type.
(project-switch-use-entire-map): New option.
(project--keymap-prompt, project-switch-project):
Update accordingly, while keeping compatibility with user-defined
values in the previous format (for some transition period).
Co-authored-by: Philip K. <philipk@posteo.net>
Philipp Stephani [Sun, 13 Dec 2020 16:13:50 +0000 (17:13 +0100)]
Byte compilation: handle case where the output file is a mountpoint.
See Bug#44631. While testing for a readonly output directory has
slightly different semantics, in practice they should cover cases
where Emacs is sandboxed and can only write to the destination file,
not its directory.
* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case
where the output directory is not writable.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--not-writable-directory)
(bytecomp-tests--dest-mountpoint): New unit tests.
Mauro Aranda [Sun, 13 Dec 2020 13:44:30 +0000 (10:44 -0300)]
Stop dropping the tag when creating the custom-variable widget
* lisp/cus-edit.el (custom-variable-value-create): Obey the specified
tag format when creating the variable tag, but stop dropping the tag
format for the variable's type widget, since the tag can be used to
give useful information to the user about the variable. (Bug#35133)
Lars Ingebrigtsen [Sun, 13 Dec 2020 13:17:55 +0000 (14:17 +0100)]
Make dired-toggle-read-only query on read-only directories
* lisp/dired.el (dired-toggle-read-only): Query instead of
erroring out immediately (bug#29412).
Lars Ingebrigtsen [Sun, 13 Dec 2020 12:49:25 +0000 (13:49 +0100)]
Clarify Extended Menu Items a bit more
* doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit
more on how submenus are formed (bug#26428).
Andrea Corallo [Sun, 13 Dec 2020 00:11:56 +0000 (01:11 +0100)]
* Fix `memory-report' for '--without-x' builds
* lisp/emacs-lisp/memory-report.el
(memory-report--image-cache): Don't call `image-cache-size' if
unbound.
Dmitry Gutov [Sun, 13 Dec 2020 02:12:35 +0000 (04:12 +0200)]
Bump project.el version
* lisp/progmodes/project.el: Bump the version.
Andrii Kolomoiets [Fri, 11 Dec 2020 13:55:22 +0000 (15:55 +0200)]
vc-create-tag: use vc-revision-history variable
* lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable.
Dmitry Gutov [Sun, 13 Dec 2020 01:58:32 +0000 (03:58 +0200)]
Fix test failure
* test/lisp/vc/vc-tests.el (vc-test--working-revision):
Accept working revision -1, expected for older Hg (bug#36534).
Stefan Monnier [Sun, 13 Dec 2020 00:19:03 +0000 (19:19 -0500)]
* lisp/emacs-lisp/bytecomp.el: Allow a nil destination file
(byte-compile--default-dest-file): New function, extracted from
byte-compile-dest-file.
(byte-compile-dest-file): Use it.
(byte-compile-dest-file-function): Give it a non-nil default value.
(byte-recompile-file, byte-compile-file): Handle a nil return value
from `byte-compile-dest-file`.
* lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake):
Tell the compiler not to write the result, instead of writing it to
a dummy temp file.
Alan Third [Sat, 12 Dec 2020 23:52:00 +0000 (23:52 +0000)]
Fix assertion on SVG load failure
* src/image.c (svg_load_image): Move setting DPI to after rsvg_handle
error checking.
Stefan Kangas [Sat, 12 Dec 2020 22:51:30 +0000 (23:51 +0100)]
Remove references to Emacs before version 22 from FAQ
* doc/misc/efaq.texi (Escape sequences in shell output): Remove
reference to versions before Emacs 21.
(Basic editing, Latest version of Emacs)
(Turning on abbrevs by default, Going to a line by number)
(Security risks with Emacs): Remove references to versions before
Emacs 22.
Philipp Stephani [Sat, 12 Dec 2020 22:21:18 +0000 (23:21 +0100)]
Document and enforce some properties for strings created by modules.
When creating multibyte or unibyte strings, we should guarantee the
following invariants:
- When creating empty strings, a NULL data pointer should be allowed.
This often arises in practice if the string length isn't known in
advance, and we don't want to unnecessarily trigger undefined
behavior. Since functions like memcpy might not accept NULL
pointers, use the canonical empty string objects in this case.
- Nonzero strings should be guaranteed to be unique and mutable.
These are the same guarantees expected from Lisp functions such as
'make-string' or 'unibyte-string'. On the other hand, empty strings
might not be unique.
* src/emacs-module.c (module_make_string)
(module_make_unibyte_string): Correctly handle empty strings.
* test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string):
New test function.
(emacs_module_init): Expose it.
* test/src/emacs-module-tests.el (mod-test-make-string/empty)
(mod-test-make-string/nonempty): New unit tests.
* doc/lispref/internals.texi (Module Values): Document properties and
corner cases for strings.
Lars Ingebrigtsen [Sat, 12 Dec 2020 20:59:08 +0000 (21:59 +0100)]
Fix BSD .include etc syntax in Makefiles
* lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix
the BSD conditional syntax (bug#24000).
(makefile-make-font-lock-keywords): Allow calling without keywords.
(makefile-bsdmake-font-lock-keywords): Add the conditional syntax.
Makefile inclusion, conditional structures and for loops reminiscent of
the C programming language are provided in make. All such structures are
identified by a line beginning with a single dot (`.') character.
Whitespace characters may follow this dot, e.g.,
.include <file>
and
. include <file>
are identical constructs
Lars Ingebrigtsen [Sat, 12 Dec 2020 20:19:26 +0000 (21:19 +0100)]
Bind `C-c C-d' to rmail-epa-decrypt in rmail
* doc/emacs/rmail.texi (Rmail Display): Mention the key
binding (bug#25411).
* lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to
rmail-epa-decrypt.
(rmail-mode): Mention it.
(rmail-epa-decrypt): Don't mark a mail as decrypted unless we're
replacing it.
* lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d.
(rmail-summary-epa-decrypt): New command.
Eric Abrahamsen [Thu, 3 Dec 2020 23:58:57 +0000 (15:58 -0800)]
New option gnus-registry-register-all
* lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil,
the registry won't automatically create new entries for all seen
messages. Defaults to t to preserve previous behavior.
(gnus-registry-handle-action): Don't automatically create entries; if
one doesn't exist, don't handle anything.
(gnus-registry-register-message-ids): Only register if this option is
t.
(gnus-registry-get-or-make-entry): Add optional no-create argument.
(gnus-registry-get-id-key): This "get" operation should only create an
entry if this option is t.
* doc/misc/gnus.texi: Documentation and news.
Stefan Monnier [Sat, 12 Dec 2020 16:50:00 +0000 (11:50 -0500)]
* lisp/emacs-lisp/package.el (package-buffer-info): Improve error message
(package-strip-rcs-id): Return canonicalized version string.
Stefan Monnier [Sat, 12 Dec 2020 15:59:50 +0000 (10:59 -0500)]
* src/fns.c (hash_string): Tweak the code further
Merge the two main branches; remove the `max` test and thus reduce
the "most steps" to 8 as written
Stefan Monnier [Sat, 12 Dec 2020 15:37:42 +0000 (10:37 -0500)]
* lisp/vc/log-edit.el: Keep separator line thin even with line-numbers
(log-edit-font-lock-keywords): Disable line-number display on
the thin separator line.
(log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly.
(log-edit-changelog-entries): Don't use a nil buffer-local
`change-log-default-name`.
Eli Zaretskii [Sat, 12 Dec 2020 15:32:55 +0000 (17:32 +0200)]
Followup to recent changes in keyboard.c
* src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11.
* lisp/subr.el (while-no-input-ignore-events): Remove
'buffer-switch': no longer used or defined. (Bug#5803)
Lars Ingebrigtsen [Sat, 12 Dec 2020 15:24:12 +0000 (16:24 +0100)]
Remove some unused process.c variables
* src/process.c (wait_reading_process_output): Remove some
variables that are unused after the previous patch.
Stefan Monnier [Sat, 12 Dec 2020 15:16:42 +0000 (10:16 -0500)]
New variable `redisplay_adhoc_scroll_in_resize_mini_windows`
* src/xdisp.c (syms_of_xdisp): Define it.
(resize_mini_window): Obey it.
Stefan Monnier [Sat, 12 Dec 2020 14:56:04 +0000 (09:56 -0500)]
* src/keyboard.c: Fix bug#5803.
A long time ago, `read_key_sequence` used to read the keymaps at the
start, so if something happened between this start and the moment
the user actually hits a key, `read_key_sequence` could end up using
the wrong keymaps. To work around this problem, the code used
`record_asynch_buffer_change` to try and trigger `read_key_sequence`
to re-read the keymaps in some known cases.
Several years ago, `read_key_sequence` was changed so as to read the keymaps
only once the user hits a key, making this machinery now redundant
(and also harmful apparently in bug#5803 because it introduces
"spurious" events).
So we here remove `record_asynch_buffer_change` and the
`BUFFER_SWITCH_EVENT` and `Qbuffer_switch` pseudo-events it generated.
* src/termhooks.h (enum event_kind): Delete `BUFFER_SWITCH_EVENT`.
* src/keyboard.c: (record_asynch_buffer_change): Delete function.
(syms_of_keyboard): Delete `Qbuffer_switch`.
(force_auto_save_soon, readable_events)
(kbd_buffer_store_buffered_event, kbd_buffer_get_event)
(make_lispy_event):
* src/xterm.c (handle_one_xevent):
* src/w32term.c (w32_read_socket):
* src/process.c (wait_reading_process_output)
(read_and_dispose_of_process_output, exec_sentinel): Simplify accordingly.
Alan Mackenzie [Sat, 12 Dec 2020 14:38:38 +0000 (14:38 +0000)]
CC Mode: Handle several K&R parameters per declaration
This fixes bug #45160.
* lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Reformulate the latter part
of this function using c-do-declarators.
Lars Ingebrigtsen [Sat, 12 Dec 2020 13:22:58 +0000 (14:22 +0100)]
Alter the "Redundant pcase patter" warning message
* lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant
pcase pattern" warning less vague (bug#31350).
Lars Ingebrigtsen [Sat, 12 Dec 2020 13:13:32 +0000 (14:13 +0100)]
Make elint load `require'd packages
* lisp/emacs-lisp/elint.el (elint-require-form): New function to
load files that are `require'd (bug#27006).
(elint-special-forms): Add function.
Eli Zaretskii [Sat, 12 Dec 2020 13:05:26 +0000 (15:05 +0200)]
; * lisp/info.el (Info-toc-build): Fix last change. (Bug#28074)
Zajcev Evgeny [Thu, 3 Dec 2020 15:37:18 +0000 (18:37 +0300)]
Explicitly specify svg base_uri using `:base-uri' image property
* src/image.c (svg_load): Check `:base-uri' image property to
explicitly set base_uri for images embedded into SVG
(enum svg_keyword_index):
(svg_format): Add :base-uri.
* lisp/svg.el (svg-embed-base-uri-image): New function to embed images
located relative to images `:base-uri'
Alan Third [Sat, 12 Dec 2020 12:30:57 +0000 (12:30 +0000)]
Revert "Explicitly specify svg base_uri using `:base-uri' image property"
This reverts commit
a8e2143a5c03785742464406306fda7fce6caf04.
I applied the incorrect version of the patch.
Lars Ingebrigtsen [Sat, 12 Dec 2020 12:46:33 +0000 (13:46 +0100)]
Offer to save tutorial position on Emacs exit
* lisp/tutorial.el (tutorial--buffer): New variable (bug#27998).
(tutorial--save-on-kill): Use it.
(help-with-tutorial): Set it and add new function to
kill-emacs-query-functions.
Lars Ingebrigtsen [Sat, 12 Dec 2020 12:33:09 +0000 (13:33 +0100)]
Update Info-toc-build parsing
* lisp/info.el (Info-toc-build): Update to understand EMDASH
instead of a hyphen in the detailed node listing (bug#28074).
Stefan Kangas [Sat, 12 Dec 2020 12:27:35 +0000 (13:27 +0100)]
Prefer setq-local in python.el
* lisp/progmodes/python.el: Require Emacs 24.2 instead of 24.1.
(python-indent-guess-indent-offset)
(python-shell-font-lock-with-font-lock-buffer)
(python-shell-font-lock-turn-on)
(python-shell-font-lock-turn-off, python-shell-font-lock-toggle)
(python-shell-comint-watch-for-first-prompt-output-filter)
(inferior-python-mode, python-shell-completion-native-turn-off)
(python-shell-completion-native-turn-on)
(python-pdbtrack-comint-output-filter-function, python-mode):
Prefer setq-local.
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:48:53 +0000 (12:48 +0100)]
Preserve point in dired buffers in dired-*-find-file* commands
* lisp/dired.el (dired--find-file): New function (bug#28949).
(dired-find-file): Use it.
(dired-mouse-find-file): Ditto.
(dired-find-file-other-window): Ditto.
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:32:15 +0000 (12:32 +0100)]
Make dired-toggle-read-only check whether the directory is writable
* lisp/dired.el (dired-toggle-read-only): Check that the directory
is writable (bug#29412).
Eli Zaretskii [Sat, 12 Dec 2020 11:25:35 +0000 (13:25 +0200)]
Unbreak the MS-Windows build broken by recent changes
* src/image.c (rsvg_handle_set_dpi_x_y) [WINDOWSNT]: DEF_DLL_FN it.
(init_svg_functions): LOAD_DLL_FN rsvg_handle_set_dpi_x_y.
<rsvg_handle_set_dpi_x_y>: Define as a macro
Lars Ingebrigtsen [Sat, 12 Dec 2020 11:20:38 +0000 (12:20 +0100)]
Improve the documentation of marker handling when reverting
* doc/lispref/backups.texi (Reverting): Mention markers from
non-file sources (bug#30028).
* lisp/files.el (revert-buffer): Mention what happens with markers
(bug#30028).
* src/fileio.c (Finsert_file_contents): Say a bit more about what
markers are restored (bug#30028).
Eli Zaretskii [Sat, 12 Dec 2020 11:12:57 +0000 (13:12 +0200)]
Improve support for 'memory-report' on MS-Windows
* src/w32term.c (w32_image_size): New function.
* src/image.c (image_frame_cache_size) [HAVE_NTGUI]: Support
reporting the size of frame image cache.
(image_frame_cache_size, Fimage_cache_size): The total size is
now of the type 'size_t', not 'int'.
Pankaj Jangid [Sat, 12 Dec 2020 10:47:12 +0000 (11:47 +0100)]
Allow customizing the Gnus summary thread indicators
* doc/misc/gnus.texi (Summary Buffer Lines): Document them.
* lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them.
* lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket)
(gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted)
(gnus-sum-closing-bracket-adopted): New variables.
Alan Third [Fri, 11 Dec 2020 19:52:20 +0000 (19:52 +0000)]
Improve some NS drawing code
* src/nsterm.m (ns_update_end): There's no need to schedule a redraw
if nothing has been changed.
(ns_set_vertical_scroll_bar):
(ns_set_horizontal_scroll_bar): Fix the logic for clearing under the
scrollbars.
(ns_clear_under_internal_border): No need to clip, the default
clipping rectangle will be fine.
Alan Third [Wed, 9 Dec 2020 00:02:44 +0000 (00:02 +0000)]
Use real DPI when rendering SVGs (bug#45124)
* src/image.c (svg_css_length_to_pixels): Pass in a DPI value instead
of using a hard coded value.
(svg_load_image): Set the DPI on the rsvg_handle, and pass it to
svg_css_length_to_pixels.
Zajcev Evgeny [Thu, 3 Dec 2020 15:37:18 +0000 (18:37 +0300)]
Explicitly specify svg base_uri using `:base-uri' image property
* src/image.c (svg_load): Check `:base-uri' image property to
explicitly set base_uri for images embedded into SVG
Stefan Monnier [Sat, 12 Dec 2020 00:26:43 +0000 (19:26 -0500)]
* lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings`
Stefan Monnier [Sat, 12 Dec 2020 00:06:55 +0000 (19:06 -0500)]
* lisp/play/dunnet.el: Make it so loading the file is harmless
Move comments into docstrings while at it.
(dun-batch): New function.
Lars Ingebrigtsen [Fri, 11 Dec 2020 22:18:01 +0000 (23:18 +0100)]
Fix copyright line
Lars Ingebrigtsen [Fri, 11 Dec 2020 20:30:25 +0000 (21:30 +0100)]
button-buttonize doc string clarification
* lisp/button.el (button-buttonize): Clarify what happens when
DATA isn't present.
Lars Ingebrigtsen [Fri, 11 Dec 2020 20:16:04 +0000 (21:16 +0100)]
Fix image-cache-size crash
* src/image.c (image_frame_cache_size): Ensure that img->pixmap is
in use before trying to access it.
Stefan Kangas [Fri, 11 Dec 2020 19:08:24 +0000 (20:08 +0100)]
* src/fns.c (Fbuffer_hash): Doc fix. (Bug#45178)
Harald Jörg [Fri, 11 Dec 2020 16:48:30 +0000 (17:48 +0100)]
; cperl-mode: Eliminate fallbacks if font-lock isn't loaded
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres):
Eliminate conditionals which always evaluate to true if
font-lock is preloaded (since Emacs 22.1). (Bug#45183)
Lars Ingebrigtsen [Fri, 11 Dec 2020 17:58:41 +0000 (18:58 +0100)]
Also sort the totals section by size
* lisp/emacs-lisp/memory-report.el (memory-report): Sort the
totals by size, too.
Lars Ingebrigtsen [Fri, 11 Dec 2020 17:48:44 +0000 (18:48 +0100)]
Tweak memory-report--format
* lisp/emacs-lisp/memory-report.el (memory-report--format): Make
everything line up, even when there's "1023.4kB".
F. Jason Park [Fri, 11 Dec 2020 15:36:02 +0000 (16:36 +0100)]
Append incremental message segments in socks-filter
* lisp/net/socks.el (socks-filter): Preserve the order data arrive
instead of semi-reversing it (bug#45162).
Copyright-paperwork-exempt: yes
Pankaj Jangid [Fri, 11 Dec 2020 15:31:48 +0000 (16:31 +0100)]
docstring: If FRAME is nil, it defaults to selected frame.
* src/frame.c (Fset_frame_size): Clarify what a nil FRAME
parameter means (bug#45170).
Lars Ingebrigtsen [Fri, 11 Dec 2020 15:17:31 +0000 (16:17 +0100)]
Clarify fortran-beginning-of-subprogram doc string after change
* lisp/progmodes/fortran.el (fortran-beginning-of-subprogram):
Clarify doc string (bug#33208).
Stefan Kangas [Fri, 11 Dec 2020 15:16:36 +0000 (16:16 +0100)]
* lisp/progmodes/python.el: Bump version.
Lars Ingebrigtsen [Fri, 11 Dec 2020 15:02:50 +0000 (16:02 +0100)]
Fix compilation of image.c on non-Cairo systems
* src/image.c (image_frame_cache_size): pixmap->width etc is only
defined on Cairo. Return 0 for now on other systems.
Roland Winkler [Fri, 11 Dec 2020 15:00:26 +0000 (09:00 -0600)]
bibtex-autokey-get-year: Follow iso8601
* lisp/textmodes/bibtex.el (bibtex-autokey-get-year): Follow
iso8601 (bug#36252).
Lars Ingebrigtsen [Fri, 11 Dec 2020 14:21:44 +0000 (15:21 +0100)]
Fix object-interval tests
* test/src/fns-tests.el (object-intervals): Fix tests.
Lars Ingebrigtsen [Fri, 11 Dec 2020 14:16:05 +0000 (15:16 +0100)]
Fix parsing error in exif
* lisp/image/exif.el (exif--parse-exif-chunk): The offset is a
four-byte number. Reported by Alan Light <lightalan@gmail.com>.
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:49:53 +0000 (14:49 +0100)]
Add a new command `memory-report'
* doc/lispref/internals.texi (Garbage Collection): Document it.
* lisp/emacs-lisp/memory-report.el: New package.
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:40:20 +0000 (14:40 +0100)]
Add new function `object-intervals'
* doc/lispref/text.texi (Examining Properties): Document it.
* src/fns.c (Fobject_intervals): New defun.
(collect_interval): New function.
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:30:44 +0000 (14:30 +0100)]
Add new function 'image-cache-size'
* src/image.c (Fimage_cache_size): New defun.
(image_frame_cache_size): New function.
Lars Ingebrigtsen [Fri, 11 Dec 2020 13:25:20 +0000 (14:25 +0100)]
Add a new function `button-buttonize'
* doc/lispref/display.texi (Manipulating Buttons): Document it.
* lisp/button.el (button-buttonize): Implement it.
Michael Albinus [Fri, 11 Dec 2020 10:31:10 +0000 (11:31 +0100)]
* lisp/battery.el (battery--upower-devices): Protect the D-Bus call.
(Bug#45163)
Basil L. Contovounesios [Fri, 11 Dec 2020 01:50:17 +0000 (01:50 +0000)]
Fix quoting in gnus-buffer-configuration
* lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include
shell-command-buffer-name value rather than symbol in pipe
configuration. (Bug#39138, bug#45154)
Eric Abrahamsen [Fri, 13 Nov 2020 04:03:05 +0000 (20:03 -0800)]
Be more graceful about handling Gnus search errors
One search may be applied to several servers: don't let one server's
error derail the whole process.
* lisp/gnus/gnus-search.el (gnus-search-config-error): Define new
error.
(gnus-search-run-search, gnus-search-server-to-engine): Raise this
specific error as appropriate.
(gnus-search-run-query): Catch this error and effectively demote it.
Stefan Kangas [Thu, 10 Dec 2020 16:42:50 +0000 (17:42 +0100)]
Remove some ancient Emacs compat code from cperl-mode
This variable has this value by default since Emacs 19.34.
* lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code.
Stefan Kangas [Thu, 10 Dec 2020 16:34:05 +0000 (17:34 +0100)]
Prefer setq-local in cperl-mode.el
* lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer)
(cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local.
Stefan Kangas [Thu, 10 Dec 2020 08:44:25 +0000 (09:44 +0100)]
Prefer setq-local in bibtex-style.el
* lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer
setq-local.
Eli Zaretskii [Thu, 10 Dec 2020 15:10:06 +0000 (17:10 +0200)]
Avoid segfaults in pos_visible_p
* src/xdisp.c (pos_visible_p): Don't try accessing the glyphs
produced by iterator whose glyph_row was set to NULL; instead,
record the X coordinate before the display string when moving past
it, and use the recorded coordinate if needed. (Bug#45156)