* etc/NEWS: New entry under Python mode.
* lisp/progmodes/python.el (python-font-lock-keywords-level-1)
(python-font-lock-keywords-level-2)
(python-font-lock-keywords-maximum-decoration): New variables
based off the incumbent 'python-font-lock-keywords'.
(python-font-lock-keywords): Change it to a list of the new
symbols, for use in the 'car' of 'font-lock-defaults'.
(python-mode): Set the 'car' of 'font-lock-defaults' to the
value of 'python-font-lock-keywords', instead of the symbol
'python-font-lock-keywords'.
17ebb6e (origin/emacs-26) Use consistent function names in thread-tes...
1c86229 Fix format error in Faccept_process_output
b38b91a Lessen stack consumption in recursive read1
3eb4603 Match w32 paths in grep sans --null hits (Bug#32051)
5cc7c4b Fix previous make-network-process change
d6a1b69 Another documentation improvement in flyspell.el
9b49a8e Improve documentation of Flyspell
3744fda Provide feature 'threads
ef9025f Save the server alias on reconnect (Bug#29657)
db3874b Refer to "proper lists" instead of "true lists"
35e0305 Avoid turning on the global-minor-mode recursively
51bf4e4 Fix Bug#32085
* lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
match paths starting with C: (other drive letters).
* test/lisp/progmodes/compile-tests.el
(compile-tests--grep-regexp-testcases)
(compile-tests--grep-regexp-tricky-testcases)
(compile-test-grep-regexps): New tests.
(compile--test-error-line): Return `compilation-message'.
* lisp/progmodes/grep.el (grep-compute-defaults):
Search for "^Copyright", not "^English", as the latter is no
longer present in etc/HELLO and the former is more likely to
survive future changes to etc/HELLO (Bug#32093).
a427de9 (origin/emacs-26) Fix bug #117323a04e15 Improve documentation of 'emacs-lock-mode'
9d6ca5a * lisp/imenu.el (imenu-generic-expression): Doc fix. (Bug#32...
fdd7e7d Improve indexing of 'eval-defun' in ELisp manual
10af989 Fix (length CIRCULAR) documentation
271d1f7 Tramp editorials
4abf94f Clarify and improve doc strings of 'eval-last-sexp' and friends
6cfc7a7 Automate upload of Emacs manuals to gnu.org
b73cde5 Fix MH-E mail composition with GNU Mailutils (SF#485)
0dce5e5 Speed up 'replace-buffer-contents' some more
00fdce0 * doc/emacs/docstyle.texi: Avoid messing up the html output.
Conflicts:
admin/make-tarball.txt
Add a paragraph to minor mode's docstring documenting the mode's ARG
usage if the supplied docstring doesn't already contain the word "ARG".
* easy-mmode.el (easy-mmode--arg-docstring): New const.
(easy-mmode--arg-docstring): New function.
(define-minor-mode): Use them.
Remove argument documentation from all minor modes.
Fixes bug#23565
* lisp/progmodes/tcl.el (tcl-mode): Set beginning-of-defun-function
and end-of-defun-function.
(tcl-beginning-of-defun-function, tcl-end-of-defun-function): New
defuns.
* test/lisp/progmodes/tcl-tests.el: New file.
Naively passing `null-device' as stderr creates a buffer named
"/dev/null" instead. Pass a hidden buffer name instead. (Bug#31902).
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile): Pass
hidden buffer as make-process :stderr instead of null-device.
* lisp/progmodes/python.el (python-nav-end-of-statement): Don't assert
that string-start is strictly greater than last-string-end, because
the string end is a position outside of the string and may therefore
be the same as the following string's start.
* test/lisp/progmodes/python-tests.el (python-nav-end-of-statement-2):
New test.
The backend's diagnostic list must be updated too, not just cleared.
* lisp/progmodes/flymake.el (flymake--diag): Add overlay field.
(flymake--highlight-line): Return created overlay.
(flymake--handle-report): Iterate the backend's diagnostics, not
the overlays. Set diagnostic overlay.
(flymake--run-backend): Don't clean diagnostic list here.
(flymake-mode): Call delete-overlay directly.
(sql-product-alist): Add MariaDB entry
(sql-mariadb-program, sql-mariadb-options, sql-mariadb-login-params,
sql-mode-mariadb-font-lock): New variables, aliases of the MySQL
equivalents
(sql-mariadb, sql-comint-mariadb): New interaction mode functions
for MariaDB
(sql-mode-mysql-font-lock-keywords): Updated font-lock for MySQL
and MariaDB
55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
26819cd1c0 ; ChangeLog.3: Fix typo.
e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'
* lisp/progmodes/cperl-mode.el:
* lisp/progmodes/cc-engine.el:
* lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
commit hook from succeeding.
Cease using the long obsolete c++-template-syntax-table.
* lisp/progmodes/cc-align.el (c-lineup-template-args): Cease using
c++-template-syntax-table.
* lisp/progmodes/cc-engine.el (c-beginning-of-inheritance-list)
(c-search-decl-header-end, c-beginning-of-decl-1, c-end-of-decl-1)
(c-guess-continued-construct, c-guess-basic-syntax): Cease using
c++-template-syntax-table.
(c-guess-basic-syntax): Add CASE 5D.6 to handle C++11's "using" type
definition.
* lisp/progmodes/cc-langs.el (c++-make-template-syntax-table)
(c++-template-syntax-table): Remove.
(c-equals-type-clause-kwds, c-equals-type-clause-key): New language
constants/variables.
* lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): At the end, accept
"." as a unary operator (which it now is in brace lists in, e.g., C Mode).
(c-guess-basic-syntax): Just before CASE 9C, move back to the previous brace
list entry in the block, rather than to the first one.
("Unconstrained" meaning that every string is multiline, without needing such
special marking as used by Pike Mode.)
* lisp/progmodes/cc-mode.el (c-pps-to-string-delim): Don't process the char
before BOB.
(c-multiline-string-check-final-quote): New function.
(c-bc-changed-stringiness): New variable.
(c-before-change-check-unbalanced-strings): Add handling for unconstrained
multiline strings.
(c-after-change-re-mark-unbalanced-strings): Add handling for unconstrained
multiline strings. Handle escaped double quotes more accurately.
The FILTER arg of flymake-goto-next-error, a list of types, includes
every diagnostic with a severity number `eq` to those types.
* lisp/progmodes/flymake.el (flymake--severity): New helper.
(flymake-goto-next-error, flymake-goto-prev-error): Clarify
meaning of FILTER.
(flymake-goto-next-error): Interpret filter as a severity filter.
(flymake--mode-line-format): Simplify.
That varaiable was an association between symbols and properties,
effecively duplicating symbol's property lists. It is simpler to just
put properties on symbols. Backward compatibility to the old variable
has been kept.
* doc/misc/flymake.texi (Flymake error types): Don't mention
flymake-diagnostic-types-alist.
(Flymake error types): Rework section.
(Backend functions): Refill a paragraph.
(Flymake utility functions): Don't mention
flymake-diagnostic-types-alist.
(Proc customization variables): Don't mention
flymake-diagnostic-types-alist.
* etc/NEWS: Mention obsoletion of flymake-diagnostic-types-alist.
* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Don't use
flymake-diagnostic-types-alist.
* lisp/progmodes/flymake.el: Rewrite commentary.
(flymake-make-diagnostic, flymake-mode, flymake-goto-next-error)
(flymake-goto-prev-error): Don't mention
flymake-diagnostic-types-alist in docstring.
(flymake-diagnostic-types-alist): Make obsolete.
(:error, :warning, :note): Put flymake-category in these symbols.
(flymake-error, flymake-warning, flymake-note): Put
`flymake-bitmap', not `bitmap' in these symbols.
(flymake--lookup-type-property, flymake--highlight-line): Rewrite.
Honor flymake-diagnostic-types-alist for backward
compatibility.
* lisp/progmodes/python.el (python-flymake-msg-alist): Don't
mention flymake-diagnostic-types-alist.
Thus, if a package foo has its own types foo-error and
foo-warning, and if the buffer has no errors, the mode-line
will correctly show `[0 0]' (zero errors and warnings) instead
of `[0 0 0 0]' (zero errors, zero foo-errors, zero warnings,
zero foo-warnings).
* lisp/progmodes/flymake.el
(flymake--mode-line-format): Coalesce diagnostic types based on
the severity, not the symbol.
This is easier that setting properties on diagnostics' text.
* lisp/progmodes/flymake.el (flymake--diag): Add data slot.
(flymake-make-diagnostic): Add DATA arg.
(flymake-diagnostic-data): New accessor.
* doc/misc/flymake.texi: Update date and version.
Make myself the first author.
* lisp/progmodes/flymake.el: Update Maintainer and Version fields.
* lisp/progmodes/flymake-proc.el
(flymake-proc--diagnostics-for-pattern): Update Maintainer and Version fields.
Except for the important detail that it doesn't make temporary files,
the new flymake-cc backend doesn't yet behave much differently from
the old flymake-proc-legacy-flymake, i.e. it still needs a special
`check-syntax' Makefile target to provide the compiler and compilation
flags. However, the new infrastructure created should allow less
intrusive cleverer flag guessers (yet to be written) to replace that
mechanism.
* lisp/progmodes/cc-mode.el (c-mode, c++-mode): Add to
flymake-diagnostic-functions.
* lisp/progmodes/flymake-cc.el: New file.
* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Before
going back a sexp from the \n marked with a string-fence syntax-table text
property, check that it is indeed a \n. If not, simply delete that text
property from the isolated quote, not the quote and the \n which otherwise
delimit an unterminated string. Should we encounter a double quote marked
with a string-fence syntax-table text property at the end of the last line,
remove that property.
e3f00f5 (origin/emacs-26) Clarify when to use advice-add vs add-function
c0f3e6b Minor formatting tweak in the Emacs manual
fadf653 Update comments in Intro to Emacs Lisp
52ccb24 ; * doc/os.texi (Batch Mode): use = after --eval
d65430f * etc/NEWS: Mention change in `edebug-prin1-to-string'.
ef4aec1 ; * doc/lispref/hash.texi (Defining Hash): Fix typos.
2981952 Another attempt to fix sql.el
b1b96d7 Update binding of 'M-.' in Intro to Emacs Lisp
b239a09 Fix a typo in last change in sql.el
0d8bae5 Fix capitalization of mail headers
845fe03 Fix buffer names in sql.el
a3885f5 Minor fixes in the Emacs manual
542f830 Fix a typo in rmail.texi
eb0bc6f * etc/PROBLEMS: Document Bug#31305.
Conflicts:
doc/emacs/sending.texi
etc/NEWS
String delimiters, including escaped new lines, of correctly terminated
strings are left in font-lock-string-face. All others get
font-lock-warning-face. The latter get syntax-table text properties on the
opening string delim and the "terminating EOL".
Correct two miscellaneous bugs: the handling of text properties on Java Mode's
generic delimiters; the handling of c-just-done-before-change.
* lisp/progmodes/cc-defs.el (c-point): New position 'eoll "end of logical line".
(c-characterp): New macro.
* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-string): Removed.
(c-basic-matchers-before): Use a simple matcher in place of the form around
c-font-lock-invalid-string.
* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Add
c-before-change-check-unbalanced-strings to the value for all modes except AWK
Mode. Also add c-before-change-check-<>-operators to Java Mode, correcting an
error in that mode's handling of generic delimiters.
(c-before-font-lock-functions): Add c-after-change-re-mark-unbalanced-strings
to the value for all modes except AWK Mode.
(c-single-quotes-quote-strings, c-string-delims): New lang variables for
future enhancements.
(c-string-innards-re-alist): New lang variable.
* lisp/progmodes/cc-mode.el (c-just-done-before-change): Do not set this
variable when a change is the alteration of text properties.
(c-basic-common-init): Set parse-sexp-lookup-properties (and the XEmacs
equivalent) also for Pike Mode.
(c-neutralize-CPP-line): No longer neutralize unbalanced quotes here.
(c-unescaped-nls-in-string-p, c-multiline-string-start-is-being-detached)
(c-pps-to-string-delim, c-before-change-check-unbalanced-strings)
(c-after-change-re-mark-unbalanced-strings): New functions.
(c-after-change): Fix a bug with the handling of c-just-done-before-change.
* lisp/progmodes/python.el (run-python, python-shell-make-comint):
Make the buffer running the inferior python process the current buffer
(Bug#31398).
* test/lisp/progmodes/python-tests.el (python-tests--bug31398):
Add test.
The Flymake legacy "proc" backend, which is active by default will try
to syntax-check foo.c/foo.cpp and many other types of files, but on
failing to find a suitable Makefile target, will fail. There's
nothing wrong with that except that it used to leave behind the
foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
the filesystem.
* lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
Call init-function inside of the unwind-protect.
The Flymake legacy "proc" backend, which is active by default will try
to syntax-check foo.c/foo.cpp and many other types of files, but on
failing to find a suitable Makefile target, will fail. There's
nothing wrong with that except that it used to leave behind the
foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
the filesystem.
* lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
Call init-function inside of the unwind-protect.
1d732d6 (origin/emacs-26) Fix gud-statement for pdb
91a68b5 ; * msdos/INSTALL: Add info about GCC versions.
7ddcc9a Document 'custom-group'
58f9e15 A minor addition to etc/DEBUG
4590414 Avoid errors in ispell.el when Enchant returns empty extra chars
d0d75f9 Make 'ispell-initialize-spellchecker-hook' work again
b90ce66 Handle selected_window change in prepare_menu_bars (Bug#31312)
79ad0b3 ; * INSTALL: Fix Emacs version number. (Bug#31358)
91de88b Fix report-emacs-bug via mailclient on MS-Windows
f4b5ff2 Port collation tests to glibc 2.27