Commit graph

76945 commits

Author SHA1 Message Date
Stefan Monnier
f342b7c969 * lisp/calc/: Use lexical scoping in all the files
Includes the following pervasive changes:
- Move some defvars earlier in the file so they cover earlier let-bindings
- Change dynamically scoped `calc-FOO` or `math-FOO` function arguments
  to just FOO and then let-bind the `calc-FOO` or `math-FOO` variable
  explicitly in the body of the function.  In some cases, the
  beginning of the function was changed to refer to FOO so as to delay
  the binding to a nearby `let` when I could ensure that it did
  not make a difference.
- Add an underscore in front of unused vars or comment them out altogether.
- Replace unused `err` arg to `condition-case` with nil.

Plus the additional itemized changes below.

* lisp/calc/calc-map.el (calcFunc-reducer):
* lisp/calc/calc-arith.el (math-setup-declarations):
* lisp/calc/calc-help.el (calc-full-help, calc-help-index-entries)
(calc-full-help): Use `ignore-errors`.

* lisp/calc/calc-embed.el (calc-embedded-modes-change):
Declare `the-language` and `the-display-just` as dynamically scoped.

* lisp/calc/calc-forms.el (math-setup-year-holidays): Use `dolist`.

* lisp/calc/calc-graph.el (calc-graph-set-styles): Use `symbol-value`
rather than `eval.`
(calc-graph-delete-temps, calc-graph-set-styles): Use ignore-errors.

* lisp/calc/calc-macs.el (calc-with-trail-buffer): Add artificial use
of `save-buf` to silence compiler warnings in all the cases where
`body` doesn't make use of it.

* lisp/calc/calc-math.el (math-largest-emacs-expt)
(math-smallest-emacs-expt, math-use-emacs-fn): Use ignore-errors.

* lisp/calc/calc-mode.el (calc-total-algebraic-mode): Remove "P" from
interactive spec since it's not used anyway.

* lisp/calc/calc-rewr.el (calc-match): Simplify.

* lisp/calc/calc.el (calc-buffer): Give it a global nil value,
so it's automatically declared dynbound in any file that requires `calc`.
(calcDigit-nondigit): Adjust accordingly.

* lisp/calc/calcalg2.el (calcFunc-table): Declare `var-dummy` as dynbound.
(math-scan-for-limits): Comment out dead code.

* lisp/calc/calcalg3.el (math-general-fit): Declare `var-YVAL` and
`var-YVALX` as dynbound.
2020-10-10 16:00:51 -04:00
Stefan Monnier
46c0f28c0e * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak
Try and clarify the meaning of `init-value`.
2020-10-10 11:07:28 -04:00
Glenn Morris
950911373c Merge from origin/emacs-27
acc9b46153 Fix merging of region face for non-ASCII characters
c2a13969e4 Make drag and drop on NS open all URLs (bug#43470)
2020-10-10 07:50:18 -07:00
Eli Zaretskii
5824c209ba Add Euro Sign to Latin language input methods
* lisp/leim/quail/latin-post.el ("danish-postfix")
("finnish-postfix", "french-postfix", "german-postfix")
("icelandic-postfix", "italian-postfix", "norwegian-postfix")
("scandinavian-postfix", "spanish-postfix", "swedish-postfix"):
Add "E=" for the Euro Sign.  (Bug#43866)
2020-10-09 17:28:24 +03:00
Stefan Kangas
b19bf08447 ; shorten https://lists.gnu.org/archive/html/... links 2020-10-09 12:23:02 +02:00
Stefan Kangas
95e8c7d1d9 ; Fix typos 2020-10-09 11:53:21 +02:00
Mattias Engdegård
35478f3f76 Calc: fix arithmetic right shift sign bit detection
Arithmetic right shift didn't compute the bit to shift in correctly.
For example, #x600000000 right-shifted 8 steps (with 32 bit word size)
resulted in #xff000000 rather than 0. (Bug#43764)

* lisp/calc/calc-bin.el (calcFunc-ash): Fix condition.
* test/lisp/calc/calc-tests.el (calc-tests--clip, calc-tests--lsh)
(calc-tests--rsh, calc-tests--ash, calc-tests--rash, calc-tests--rot):
New.
(calc-shift-binary): New test.
2020-10-09 11:24:15 +02:00
Nick Gasson
c69c17d573 Match OpenBSD doas password prompt in comint
* lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas
password prompt. OpenBSD 5.8 replaced sudo with doas in the base
install.

* test/lisp/comint-tests.el (comint-testsuite-password-strings): test
that the doas password prompt is matched (bug#43846).

Copyright-paperwork-exempt: yes
2020-10-09 06:57:07 +02:00
Lars Ingebrigtsen
e45b0c5d94 message-signature doc fix
* lisp/gnus/message.el (message-signature): Mention
message-signature-insert-empty-line (bug#43853).
2020-10-09 06:48:51 +02:00
Lars Ingebrigtsen
e2ece08273 Revert "Don't eagerly store articles in the Agent by default"
This reverts commit def34a2076.

This made storing articles in the Agent very slow.
2020-10-09 06:26:17 +02:00
Lars Ingebrigtsen
f3dbde7e6f Only skip directories in lgrep, not the other grep commands
* lisp/progmodes/grep.el (lgrep): Do the directory ignores here
(bug#23590).
(grep-compute-defaults): ... instead of here, because this would
affect all grep commands, not just lgrep.
2020-10-09 06:15:07 +02:00
Alan Mackenzie
81fe8990c0 CC Mode: Move the handling of keyword auto into type handling for C++.
This should allow auto, const, static, ... to be in any order.

* lisp/progmodes/cc-engine.el (c-forward-type): New return value 'no-id for
when auto precludes the parsing of a type identifier.  Adapt processing for
this.
(c-forward-decl-or-cast-1): Use the new facility from c-forward-type.

* lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): Insert the value
of c-no-type-kwds into the value.
(c-no-type-kwds, c-no-type-key): New lang consts/vars, basically "auto".
(c-typeless-decl-kwds, c-modifier-kwds): Remove "auto" from the C++ value.
2020-10-08 16:49:49 +00:00
Stefan Monnier
d340a979db * lisp/doc-view.el: Fix "can't resize root window" error
(doc-view-fit-window-to-page): Change approach to detect when the
frame needs to be resized.
2020-10-08 09:44:34 -04:00
Dmitry Gutov
0a5e9cf262 Mention two more functions in the commentary
* lisp/progmodes/project.el:
Mention two more functions in the commentary (bug#43595).
2020-10-08 02:41:12 +03:00
Eli Zaretskii
7be18bbfe1 Improve documentation of 'isearch-group-N' faces
* etc/NEWS:
* doc/emacs/search.texi (Search Customizations): Improve and
clarify the wording of the 'isearch-group-N' faces description.

* lisp/isearch.el (search-highlight-submatches): Doc fix.
2020-10-07 12:12:06 +03:00
Eli Zaretskii
466db12df0 Fix last change in frame.el.
* lisp/frame.el (frame-set-background-mode): Fix last change: yet
another place where FRAME was not taken into account, using the
selected frame instead.  (Bug#43837)
2020-10-07 11:35:59 +03:00
Eli Zaretskii
bc2b63876b Fix face recalculation when frame's background mode changes
* lisp/frame.el (frame-set-background-mode): Use the FRAME
argument instead of the selected frame, when calling
'face-spec-match-p'.  (Bug#43837)
2020-10-07 10:02:20 +03:00
Alex Gramiak
0ab67a65f5 Default the grep commands to skip directories
* lisp/progmodes/grep.el (grep-compute-defaults): Skip directories
(bug#23590).
2020-10-07 05:41:23 +02:00
Lars Ingebrigtsen
c842bd993f Make artist-mode work when display-line-numbers-mode is on
* lisp/textmodes/artist.el (artist--adjust-x): New function.
(artist-mouse-draw-continously, artist-mouse-draw-poly)
(artist-mouse-draw-1point, artist-mouse-draw-2points): Use it to
take `display-line-numbers-mode' widths into account.
2020-10-07 05:23:26 +02:00
Lars Ingebrigtsen
cc70a7b7a8 alist-get doc string further clarification
* lisp/subr.el (alist-get): Mention generalized variables again
for easier cross-referencing (bug#43836).
2020-10-07 04:50:52 +02:00
Mauro Aranda
7305437654 Make the State button in Custom use extended menus
* lisp/cus-edit.el (custom-actioned-widget): New variable.
Dynamically hold the widget for which to show the menu.
(custom-variable-extended-menu, custom-face-extended-menu)
(custom-group-extended-menu): Keymap menus for the State menu.  Use
custom-actioned-widget for the :enable and :selected forms.  Make
related items radio buttons.  (Bug#4787)
(custom-variable-menu, custom-face-menu, custom-group-menu): Keep for
backward compatibility, but default to nil, so we prefer the keymap
menus instead.
(custom-variable-action, custom-face-action, custom-group-action):
Pass the keymap menu to widget-choose when the simplified menus
are nil.
2020-10-07 04:35:58 +02:00
Juri Linkov
46aa145d39 Add match-data to isearch state and repeat faces to highlight group matches
* lisp/isearch.el (isearch-match-data): New variable.
(isearch-mode): Set isearch-match-data to nil.
(isearch-update): Call isearch-highlight with isearch-match-data.
(isearch--state): Add isearch-match-data.
(isearch--set-state): Restore isearch-match-data.
(with-isearch-suspended): Preserve isearch-match-data.
(isearch-search): Set isearch-match-data to integers.
(isearch-group-1): Rename from isearch-group-odd and adjust colors.
(isearch-group-2): Rename from isearch-group-even and adjust colors.
(isearch-highlight): Add optional arg 'match-data'.
Rewrite search-highlight-submatches part to recycle faces.

* doc/emacs/search.texi (Search Customizations): Amend the
documentation for isearch-group faces.

(bug#6227, bug#43702)
2020-10-06 23:14:26 +03:00
Juri Linkov
fc6decdfbc Add check for bound and true 'ido-everywhere' in multi-occur--prompt
* lisp/replace.el (multi-occur--prompt): Check if 'ido-everywhere' is
bound and true (bug#41633).
2020-10-06 21:35:53 +03:00
Juri Linkov
c30f6da0da Fix args of truncate-string-to-width in ibuffer-compile-make-substring-form
* lisp/ibuffer.el (ibuffer-compile-make-substring-form): Fix args of
truncate-string-to-width call (bug#41250)
2020-10-06 21:33:20 +03:00
Stefan Monnier
278c9d69cd * lisp/international/mule.el (define-coding-system): Revert accidental change
This was accidentally included in a9f147af71
"Use the full name of the null byte/character, not its abbreviation".
2020-10-06 11:02:00 -04:00
Stefan Monnier
bcd09e9869 * lisp/international/mule-util.el: Revert bug#41250 workaround
(truncate-string-ellipsis): Use the '…' character itself since it
should work now and is more readable.
2020-10-06 09:38:25 -04:00
Stefan Monnier
9a819568cc * lisp/international/ja-dic-cnv.el: Attempt to fix bug#41250
(skkdic-convert): Only bind `coding-system-for-read` where needed.
2020-10-06 09:34:20 -04:00
Eli Zaretskii
ff9b04fbc4 ; * lisp/international/mule-util.el (truncate-string-ellipsis): Fix comment. 2020-10-06 14:51:13 +03:00
Mattias Engdegård
bf34cf75fc Fix last change
* lisp/international/mule-util.el (truncate-string-ellipsis):
Use Unicode hex escapes instead of named escapes here, because \N{...}
is not available during bootstrapping.  (Bug#41250)
2020-10-06 13:14:19 +02:00
Eli Zaretskii
e704a6956d Fix last change
* lisp/international/mule-util.el (truncate-string-ellipsis): Add
a FIXME comment that explains the last change.  (Bug#41250)
2020-10-06 11:24:15 +03:00
Juri Linkov
809934f022 Don't use the character '…' literally in mule-util.el (bug#41250)
* lisp/international/mule-util.el (truncate-string-ellipsis):
Replace the character '…' with its Unicode name.
2020-10-06 10:50:46 +03:00
Andreas Schwab
a9f147af71 Use the full name of the null byte/character, not its abbreviation
* lisp/subr.el (inhibit-nul-byte-detection): Make it an obsolete alias.
* src/coding.c (setup_coding_system): Use original name.
(detect_coding): Rename nul_byte_found => null_byte_found.
(detect_coding_system): Use original name.
Rename nul_byte_found => null_byte_found.
(Fdefine_coding_system_internal): Use original name.
(syms_of_coding): Rename inhibit-nul-byte-detection to
inhibit-null-byte-detection.
* src/w16select.c (get_clipboard_data): Rename nul_char to null_char.
* src/json.c (check_string_without_embedded_nulls): Rename from
check_string_without_embedded_nuls.
(Fjson_parse_string): Adjust accordingly.
* src/coding.h (enum define_coding_undecided_arg_index)
(enum coding_attr_index): Rename ...nul_byte... to ...null_byte....
* lisp/info.el (info-insert-file-contents, Info-insert-dir):
* lisp/international/mule.el (define-coding-system):
* lisp/vc/vc-git.el (vc-git--call):
* doc/lispref/nonascii.texi (Lisp and Coding Systems): Use original name.
2020-10-05 20:19:59 +02:00
Jared Finder
c47479cf17 Sort items in tmm properly, and allow clicking the final item
* lisp/tmm.el (tmm-menubar-keymap): Sort the final items properly.
(tmm-menubar): Allow clicking the final menu item (bug#43756).
2020-10-05 10:20:56 +02:00
Juri Linkov
7301bf996e Use … in Gnus mode lines (when shortening them)
* lisp/gnus/gnus-sum.el (gnus-set-mode-line): Defer ellipsis
creation to `truncate-string-to-width' (bug#41250).  This uses …
by default.
2020-10-05 09:01:03 +02:00
Nathan Moreau
d494833d47 Improve support for using vc commands in indirect buffers
* lisp/vc/vc.el (vc-deduce-fileset-1): New defun.
(vc-deduce-fileset): Adapt.
(vc-maybe-buffer-sync): New defun.
(vc-diff): Adapt.
(vc-ediff): Adapt.
(vc-root-diff): Adapt.
(vc-revision-other-window): Adapt (bug#40967).
2020-10-05 08:50:16 +02:00
Eli Zaretskii
c0577d7a39 Fix the documentation parts of a recent commit
* lisp/international/mule-util.el (truncate-string-ellipsis): Doc
fix.

* doc/lispref/display.texi (Size of Displayed Text): Improve
wording and accuracy of the documentation of
'truncate-string-to-width'.  Document the function
'truncate-string-ellipsis'.

* etc/NEWS: Improve the wording of the entry for
'truncate-string-to-width'.
2020-10-05 08:37:02 +03:00
Juri Linkov
5ec21155c3 Use '…' for ellipsis in truncate-string-to-width by default (bug#41250)
* lisp/international/mule-util.el (truncate-string-ellipsis):
Change the default value to nil.
(truncate-string-ellipsis): New function.
(truncate-string-to-width): Use the value returned from the
function 'truncate-string-ellipsis'.

* lisp/tab-bar.el (tab-bar-tab-name-truncated):
* lisp/tab-line.el (tab-line-tab-name-ellipsis):
Take advantage of the improvement of the ellipsis default value
in truncate-string-to-width and truncate-string-ellipsis.

* doc/lispref/display.texi (Size of Displayed Text):
Improve description of truncate-string-ellipsis.
2020-10-04 22:41:36 +03:00
Michael Albinus
96a8e84606 Make dbus-unregister-object work for monitors
* doc/misc/dbus.texi (Monitoring Messages): Rename from
"Monitoring Events".
(Register Objects, Monitoring Messages):
Mention returned object.

* lisp/net/dbus.el (dbus-unregister-object): Adapt docstring.
(dbus-unregister-object): Delete monitor if needed.
(dbus-register-monitor): Return proper object.

* src/dbusbind.c (dbus-registered-objects-table): Adapt docstring.

* test/lisp/net/dbus-tests.el (dbus--test-signal-handler):
Adapt docstring.
(dbus-test08-register-monitor): New test.
2020-10-04 18:56:45 +02:00
Lars Ingebrigtsen
d8665e6d34 Make update-file-autoloads respect generated-autoload-file
* lisp/emacs-lisp/autoload.el (update-file-autoloads): Make
update-file-autoloads respect `generated-autoload-file', as
documented.
2020-10-04 16:32:16 +02:00
Mauro Aranda
f4305f3b53 Support extended menus in widget-choose
* doc/misc/widget.texi (Utilities): Document widget-choose.

* etc/NEWS: Document the feature (bug#4787).
* lisp/wid-edit.el (widget--simplify-menu): New function, to convert
extended menus into simplified menus when using the menu to prompt
through the minibuffer.
(widget-choose): Accept a keymap menu.  When not using x-popup-menu,
simplify the menu with widget--simplify-menu.  Document the changes in
the docstring.
2020-10-03 19:31:50 +02:00
Alan Third
c2a13969e4 Make drag and drop on NS open all URLs (bug#43470)
* lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy
actions.

Co-authored-by: Daniel Martín <mardani29@yahoo.es>
2020-10-03 15:41:13 +01:00
Stefan Kangas
d6a2754348 ; Fix more typos 2020-10-03 12:53:51 +02:00
Stefan Kangas
ceae38b933 ; Fix trivial typos in ChangeLogs 2020-10-03 12:53:51 +02:00
Mattias Engdegård
0ade20f49f Calc: fix formatting and parsing Unix time (bug#43759)
The number of days from epoch to Jan 1, 1970 that was used in parsing
and formatting Unix time was incorrect.  The previous fix
(in e368697ce3) was incomplete.

Reported by Vincent Belaïche.

* lisp/calc/calc-forms.el (math-unix-epoch): New constant.
(math-format-date-part, math-parse-standard-date, calcFunc-unixtime):
Use math-unix-epoch instead of a constant that is sometimes wrong.
* test/lisp/calc/calc-tests.el (calc-unix-date): New test.
2020-10-02 22:24:54 +02:00
Glenn Morris
726eb835dd Merge from origin/emacs-27
78eacf31e8 ; Fix many typos in symbols in docs and comments
d5d12707d6 * doc/misc/flymake.texi (Using Flymake): Fix a typo.  (Bug...

# Conflicts:
#	lisp/allout.el
#	lisp/progmodes/ebrowse.el
2020-10-02 09:38:24 -07:00
Glenn Morris
223de5f2f5 Merge from origin/emacs-27
41dcbeccf3 Make aliases introduced in previous patch obsolete
4997032c05 Restore some public debugging functions removed in Emacs 27
2020-10-02 09:33:53 -07:00
Glenn Morris
0a769f4832 Merge from origin/emacs-27
2af6b3147d Clarification in Tramp manual
8fbaca7d41 Check Emacs version used for Tramp compilation
90e5549f02 Don't signal an error when saving files on WdebDAV volumes
6f73cc3579 ; * lisp/net/eww.el (eww-search-words): Doc fix.
ce0842a165 * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it.  (...
2020-10-02 09:33:53 -07:00
Lars Ingebrigtsen
ef7bc1cc80 Fix electric-buffer-list buffer selection
* lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is
restored, which isn't always the case if
global-display-line-numbers-mode (bug#43755).  This enables
selecting buffers again.
2020-10-02 16:17:39 +02:00
Stefan Kangas
78eacf31e8 ; Fix many typos in symbols in docs and comments 2020-10-02 13:29:45 +02:00
Stefan Monnier
053d70660b CC Mode: Convert the handling of c-special-indent-hook to standard usage
* lisp/progmodes/cc-styles.el (c-set-style): Use kill-local-variable rather
than copying the hook's global value to the local binding.
(c-make-styles-buffer-local): Remove redundant make-variable-buffer-local.
2020-10-02 10:34:37 +00:00