1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-13 09:32:47 +00:00
Commit Graph

150203 Commits

Author SHA1 Message Date
João Távora
0646c68171 Make syntax-ppss more accurate for Python triple quotes (bug#49518)
By putting delimiter syntax on the last character of Python
triple-quoted strings, this makes syntax-ppss be more accurate.

Previously:

    emacs -Q something.py
    type two single quotes
    M-: (nth 3 (syntax-ppss))
    notice how the return value says you're outside a string, correctly
    type another quote
    M-: (nth 3 (syntax-ppss))
    notice how the return value says you're inside a string, correctly
    backspace the quote just entered
    M-: (nth 3 (syntax-ppss))
    notice how the return value says you're inside a string, incorrectly

With this patch the last step is corrected.  This helps things like
electric-pair-mode.  Also, the test
python-syntax-after-python-backspace now passes, again.

* lisp/progmodes/python.el (python-syntax-stringify): Put
delimiter syntax in "inner" of the surrouding triple quotes.

* test/lisp/progmodes/python-tests.el
(python-syntax-after-python-backspace): Passes again.
2021-09-21 10:56:27 +01:00
João Távora
9ad962e118 Expand and improve electric-pair-mode and Python testing (bug#49518)
In python-tests.el, the triple-quote pairing tests are passing
incorrectly, i.e. the auto-pairing functionality they purport to guard
isn't really working for users trying it interactively.  Added a new
failing test, soon to be fixed.

In electric-tests.el, added tests for Python, too.

* test/lisp/electric-tests.el (define-electric-pair-test): Also run
main tests for python-mode.  (pair-some-quotes-skip-others): Test
another slightly different pairing.

* test/lisp/progmodes/python-tests.el
(python-triple-double-quote-pairing): Rename from
python-triple-quote-pairing.
(python-triple-single-quote-pairing): New test.
2021-09-21 10:54:19 +01:00
João Távora
f57ef81031 Add docstring for 'electric-pair-p-s-i-f' and minor refactor
Extract the "open newline between pairs behaviour" into its own
function, electric-pair-open-newline-between-pairs-psif.

* lisp/elec-pair.el (electric-pair-post-self-insert-function): Add
docstring.
(electric-pair-open-newline-between-pairs-psif): New function.
(electric-pair-mode): Add/remove electric-pair-open-newline-between-pairs-psif
2021-09-21 10:53:37 +01:00
João Távora
7f169fbe32 Speed up test/lisp/electric-tests.el when run interactively
'blink-paren-function' and its timers could sometimes interfere with
the tests and slow them down significantly.

* test/lisp/electric-tests.el (call-with-saved-electric-modes):
Bind blink-paren-function to nil.
2021-09-21 10:53:37 +01:00
Stefan Kangas
c6eb8df79e ; Minor checkdoc fixes in url/*.el 2021-09-21 11:14:55 +02:00
Lars Ingebrigtsen
f23c5c3e44 Fix whitespace-report window creation
* lisp/whitespace.el (whitespace-display-window): Avoid creating
many buffers if called many times (bug#50716).
2021-09-21 07:29:55 +02:00
Lars Ingebrigtsen
02a2fba786 Use `special-mode' for whitespace-report
* lisp/whitespace.el (whitespace-report-region): Use
`special-mode' instead of `fundamental-mode' (bug#50715).
2021-09-21 07:23:09 +02:00
Lars Ingebrigtsen
f4813b23f2 Inhibit warning in mm-inline-wash-with-file from previous change
* lisp/gnus/mm-view.el (mm-inline-wash-with-file): Inhibit warning
about previous lexical fixup.
2021-09-21 07:16:37 +02:00
Lars Ingebrigtsen
8c4cb2fe06 Fix problems with non-ASCII non-encoded PGP names
* lisp/epg.el (epg-signature-to-string): User IDs may be
non-encoded, non-ASCII (bug#50706).
2021-09-21 07:12:35 +02:00
Lars Ingebrigtsen
a202f6a39a Fix typo in tex--prettify-symbols-alist
* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
varsigma typo (bug#50710).
2021-09-21 06:48:44 +02:00
Lars Ingebrigtsen
d3bfe91ef5 Fix lexical fallout in mm-inline-wash-with-file
* lisp/gnus/mm-view.el (mm-inline-wash-with-file): This is only
called from the `links' handler, and it passes in `file' expecting
that to be dynamically bound.  Which is a very, very confusing
interface, but make that work again, anyway.
2021-09-21 06:43:16 +02:00
Michalis V
7e395a59b0 Make dired-compress-file query for a directory to uncompress to
* lisp/dired-aux.el (dired-compress-file-suffixes): Specify the
directory in the tar targets.
(dired-uncompress-file): New function (bug#47058).  This asks what
directory to uncompress to.
(dired-compress-file): Use it.
2021-09-21 06:30:58 +02:00
Lars Ingebrigtsen
0619da0d82 Clear netrc cache in auth-source test
* test/lisp/auth-source-tests.el
(auth-source-test-netrc-create-secret): Clear the netrc cache, too.
2021-09-21 05:59:11 +02:00
Lars Ingebrigtsen
bbef979ae1 Only search netrc in the netrc tests
* test/lisp/auth-source-tests.el
(auth-source-test-netrc-create-secret): Only search netrc.
2021-09-21 05:28:45 +02:00
Eric Abrahamsen
3dabd27210 Remove some last calls to Gnus group name encoding
This should have been part of cb12a84f2c

* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc,
gnus-inews-do-gcc): Don't encode group names.
2021-09-20 18:23:56 -07:00
Dmitry Gutov
9767c6b01d ; Mention it in NEWS too 2021-09-21 04:01:21 +03:00
Dmitry Gutov
df1d4f5894 New command: project-find-dir
* doc/emacs/maintaining.texi (Project File Commands):
Mention the new command and update the bindings information.

* lisp/progmodes/project.el (project-find-dir):
New command (bug#43153).
(project-prefix-map): Use 'd' as its binding.
Move 'project-dired' to 'D'.
(project-switch-commands):
Replace 'project-dired' with 'project-find-dir'.
2021-09-21 03:53:21 +03:00
Robert Pluim
de289d58a4 Support for Unicode emoji sequences
This covers both sequences using Zero-Width-Joiner codepoints and
those without. Bug#39799, I hope.

* .gitignore: Add emoji-zwj.el
* admin/notes/unicode: Add emoji-zwj-sequences.txt and
emoji-sequences.txt references.  Describe how to test after updating
to a newer Unicode version.
* admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency.
(emoji-zwj.el): Add target plus rules for building.
(gen-clean): Add emoji-zwj.el.
* admin/unidata/README: Add emoji-zwj-sequences.txt and
emoji-sequences.txt references.
* admin/unidata/blocks.awk: Force emoji script to be used for certain
codepoints that are used by the Unicode sequences.
* admin/unidata/emoji-sequences.txt: New file.
* admin/unidata/emoji-zwj-sequences.txt: New file.
* admin/unidata/emoji-zwj.awk: New file.  Derives
composition-function-table rules from emoji-zwj-sequences.txt, plus
hardcodes some derived manually from emoji-sequences.txt.
* etc/NEWS: Announce change.
* lisp/international/characters.el: Load the generated emoji-zwj.el
* src/Makefile.in (emoji-zwj): New target.
(temacs): Add emoji-zwj as a dependency.
2021-09-20 22:35:34 +02:00
Jonas Bernoulli
0b98ea5fbe
No longer raise error when http authentication failed
* lisp/url/url-http.el (url-http-handle-authentication): Return t
instead of raising an error, instructing the caller to invoke the
request specific error handler (bug#50511).
2021-09-20 21:18:41 +02:00
Glenn Morris
6825f5660f ; admin/unidata/README: remove mistaken addition of local file 2021-09-20 10:47:02 -07:00
Robert Pluim
2416790595 Add a note about testing out-of-tree builds
* CONTRIBUTE: Ask contributors to test out-of-tree builds when
making build system changes.
2021-09-20 19:10:31 +02:00
Robert Pluim
bcfc570bac Base emoji script membership on Emoji_Presentation
The Emoji property describes which codepoints can be displayed as
emoji, but Emoji_Presentation governs which are displayed as emoji by
default.

* admin/notes/unicode: Adjust check-emoji-coverage to look in the
Emoji_Presentation sections of emoji-data.txt
* admin/unidata/blocks.awk: Assign emoji script using the
Emoji_Presentation section.
2021-09-20 19:10:30 +02:00
Glenn Morris
ab676214bd ; admin/unidata/README: sort entries 2021-09-20 08:43:10 -07:00
Glenn Morris
58f3370091 ; admin/unidata/README: update file dates
I'm not sure how useful it is to keep this information in the README.
Also, add missing EastAsianWidth.txt.
2021-09-20 08:41:56 -07:00
Basil L. Contovounesios
7d5930a6f0 Fix VC repo URL detection in bug-reference-mode
* lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc):
Pass file or directory name in question as the first argument to the
backend's repository-url implementation (bug#50689).  Use when-let
and seq-some to flatten nested conditionals.
2021-09-20 14:41:13 +01:00
Eli Zaretskii
d16e51e8d2 Fix assertion violation with zero-width :box attributes
* src/xfaces.c (merge_face_ref): Don't allow :box attribute with a
zero value.  (Bug#50699)
2021-09-20 15:22:07 +03:00
Michael Albinus
4ec00b0ff0 Remove superfluous skip in auth-source-tests.el
* test/lisp/auth-source-tests.el
(auth-source-test-netrc-create-secret): Remove superfluous skip.
2021-09-20 10:21:30 +02:00
Mattias Engdegård
fc268ed439 Dump with lexical-binding bound to nil
* lisp/loadup.el (dump-mode): Temporarily bind `lexical-binding` to
nil while dumping.  Otherwise, it will be t in Emacs by default
and that is not our intention (yet).
2021-09-20 10:14:35 +02:00
Eli Zaretskii
b34dcd96e9 ; * src/keyboard.c (Frecursive_edit): Minor fixes of the doc string. 2021-09-20 10:50:53 +03:00
Juri Linkov
9e9db94423 * lisp/tab-bar.el (tab-bar-new-tab): Add optional arg 'from-number'.
(tab-bar-mouse-context-menu): Use tab-number as an arg for
'tab-bar-duplicate-tab'.
(tab-bar-duplicate-tab): Add optional arg 'from-number'.
2021-09-20 10:20:32 +03:00
Juri Linkov
644d0ba589 Add support for url-retrieve-synchronously to eww-retrieve-command (bug#50680)
* doc/misc/eww.texi (Advanced): Mention url-retrieve-synchronously
for eww-retrieve-command.

* lisp/net/eww.el (eww-retrieve-command): Add choice 'sync' for
url-retrieve-synchronously.
(eww-retrieve): Use value 'sync' for url-retrieve-synchronously.
(eww-isearch-next-buffer): Let-bind eww-retrieve-command to 'sync'.
2021-09-20 10:16:09 +03:00
Miha Rihtaršič
469b15f27c Improve documentation of exiting recursive editing
* doc/lispref/commands.texi (Recursive Editing): Mention what happens
when throwing a string or any other value to 'exit.
* src/keyboard.c (Frecursive_edit): Document throwing a function
to 'exit (bug#49700).
2021-09-20 08:00:08 +02:00
Miha Rihtaršič
31ba9bbf6c Refactor minibuffer aborting
* lisp/minibuffer.el (minibuffer-quit-recursive-edit): New optional
argument to specify how many levels of recursion to quit.

* src/eval.c (internal_catch): Remove special handling of 'exit
tag (bug#49700).
* src/minibuf.c (Fabort_minibuffers): Use
minibuffer-quit-recursive-edit to quit multiple levels of minibuffer
recursion.
2021-09-20 07:59:29 +02:00
Philip Kaludercic
995a623594 Fix dolist-with-progress-reporter behaviour
* subr.el (dolist-with-progress-reporter): Use the length of list
  argument as maximal value the reporter with reach
2021-09-20 01:56:07 +02:00
Stefan Kangas
3c51343536 Revert "Flag checkdoc-symbol-words as a :safe variable"
There was no need for this change, as this variable was already marked
as :safe.

This reverts commit 222a7a1a8a.
2021-09-19 22:29:29 +02:00
Eli Zaretskii
558ca61cbd Avoid segfaults due to 'bug-reference-mode'
* src/xdisp.c (handle_fontified_prop): Set the frame's
inhibit_clear_image_cache flag around calls to
'fontification-functions', to avoid Lisp triggering the clearing
of image and/or face caches behind redisplay's back.  (Big#50571)
2021-09-19 21:39:18 +03:00
Eli Zaretskii
7e0af65d78 Fix blocks.awk wrt to Emoji characters
* admin/unidata/blocks.awk: Fix emoji-data.txt processing for
older Awks.
2021-09-19 21:33:02 +03:00
Michael Albinus
788a65862e Do not save empty passwords in auth-source-search
* lisp/auth-source.el (auth-source-netrc-create)
(auth-source-secrets-create): Set :save-function only for non
empty passwords.

* lisp/net/tramp.el (tramp-read-passwd): Don't save empty passwords.

* test/lisp/auth-source-tests.el
(auth-source-test-secrets-create-secret): Adapt test.
(auth-source-test-netrc-create-secret): New test.
2021-09-19 19:59:05 +02:00
Stefan Kangas
7abbf3779c Be explicit about missing sections in eshell manual
* doc/misc/eshell.texi (Writing a module, Module testing)
(Directory handling, Key rebinding, Smart scrolling)
(Terminal emulation): Explicitly say that these sections remain to
be written.  (Bug#49306)
2021-09-19 18:33:53 +02:00
Juri Linkov
4c3b6f2973 * lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items. 2021-09-19 19:22:03 +03:00
Ken Brown
19e72564b2 Fix build with native compilation on Cygwin
* src/Makefile.in (emacs$(EXEEXT)) [CYGWIN]: Rebase the *.eln
files after they are all created, to avoid fork problems later
in the build.  (Bug#50666)
2021-09-19 12:19:36 -04:00
王滋涵 Zephyr Wang
bbb9e97537 ; Fix typo in package.el doc string
* lisp/emacs-lisp/package.el (package-archive-column-width): Fix
copy-paste in doc string (bug#50678).

Copyright-paperwork-exempt: yes
2021-09-19 17:40:00 +02:00
Stefan Kangas
86837a87b7 Clarify docstring of pcase-exhaustive
* lisp/emacs-lisp/pcase.el (pcase-exhaustive): Clarify docstring
by contrasting with pcase.  (Bug#44166)
2021-09-19 17:25:39 +02:00
Stefan Kangas
7b3f02de12 Make two unused variables obsolete
* lisp/progmodes/idlw-help.el (idlwave-help-directory)
(idlwave-help-use-hh): Make unused variables obsolete.
2021-09-19 16:57:03 +02:00
Stefan Kangas
95f7f71560 ; Delete a spurious comment 2021-09-19 16:57:03 +02:00
Stefan Kangas
3eb480c8a4 ; Stylistic docfixes in net/*.el found by checkdoc 2021-09-19 16:57:03 +02:00
Stefan Kangas
775fc5312b * etc/NEWS: Add section on recent checkdoc changes. 2021-09-19 16:28:43 +02:00
Mattias Engdegård
5252c45850 Initialise unread buffer
The reader has an extra 1-char unread buffer that was incorrectly
initialised to 0, which means that the first character read would
always be NUL.  As this is often the code that looks for the
lexical-binding cookie, the first loaded source module would be
treated as dynamically bound.  During bootstrapping this is loadup.el
and so its local variables got dumped into the global environment.

* src/lread.c (unread_char): Initialise to empty.
(Fload): Initialise here too just in case.
2021-09-19 16:22:29 +02:00
Stefan Kangas
83508013a8 checkdoc: Verify format of yes-or-no-p and format-message
* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string):
Check also for "yes-or-no-p" and "format-message".  Convert regexps to
use rx.
2021-09-19 15:55:06 +02:00
Stefan Kangas
8772d81966 ; Some more docfixes for erc/*.el 2021-09-19 13:21:56 +02:00