aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/textmodes (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-07-04Fix filling in js-mode and mhtml-mode (js-mode parts), fixing bug #41897Alan Mackenzie1-12/+23
* lisp/progmodes/js.el (js-mode): Use "\\(?:" in the value of comment-start-skip rather than "\\(", fixing the second half of bug #41952. Call c-foreign-init-lit-pos-cache and install c-foreign-truncate-lit-pos-cache on before-change-functions, to connect up correctly with CC Mode's filling mechanism. * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add prefixes "adaptive-fill-", "fill-", "normal-auto-fill-function" and "paragraph-" to pull in variables crucial to filling. (mhtml-syntax-propertize): Read the current submode from the piece of text being propertized rather than one character before it, and do so before erasing the submode text-property. (mhtml-mode): Set the js-mode value of auto-fill-function to js-do-auto-fill. Correctly initialize and use CC Mode's filling facilities, as above.
2020-06-21Evaluate some unnecessarily quoted lambdasBasil L. Contovounesios1-5/+5
* lisp/cedet/semantic/complete.el (semantic-displayer-tooltip-max-tags): * lisp/emacs-lisp/benchmark.el (benchmark-run-compiled): * lisp/emacs-lisp/package.el (package--default-summary) (package-menu-filter-by-version): * lisp/eshell/em-pred.el (eshell-pred-file-time): * lisp/progmodes/verilog-mode.el (verilog-auto-lineup) (verilog-auto-reset-widths, verilog-auto-arg-format) (verilog-auto-inst-vector, verilog-auto-inst-template-numbers): * lisp/textmodes/bibtex.el (bibtex-dialect): * test/lisp/autoinsert-tests.el (autoinsert-tests-define-auto-insert-before) (autoinsert-tests-define-auto-insert-after): Remove some unnecessary quoting around anonymous functions.
2020-06-18Fix and extend format-spec (bug#41758)Basil L. Contovounesios1-3/+0
* lisp/format-spec.el: Use lexical-binding. Remove dependence on subr-x.el. (format-spec-make): Clarify docstring. (format-spec--parse-modifiers): Rename to... (format-spec--parse-flags): ...this and simplify. In particular, don't bother parsing :space-pad which is redundant and unused. (format-spec--pad): Remove, replacing with... (format-spec--do-flags): ...this new helper function which performs more of format-spec's supported text manipulation. (format-spec): Autoload. Allow optional argument to take on special values 'ignore' and 'delete' for more control over what happens when a replacement for a format specification isn't provided. Bring back proper support for a precision modifier similar to that of 'format'. * lisp/battery.el (battery-format): Rewrite in terms of format-spec. (battery-echo-area-format, battery-mode-line-format): Mention support of format-spec syntax in docstrings. * doc/lispref/strings.texi (Custom Format Strings): * etc/NEWS: Document and announce these changes. * lisp/dired-aux.el (dired-do-compress-to): * lisp/erc/erc-match.el (erc-log-matches): * lisp/erc/erc.el (erc-update-mode-line-buffer): * lisp/gnus/gnus-sieve.el (gnus-sieve-update): * lisp/gnus/gssapi.el (open-gssapi-stream): * lisp/gnus/mail-source.el (mail-source-fetch-file) (mail-source-fetch-directory, mail-source-fetch-pop) (mail-source-fetch-imap): * lisp/gnus/message.el (message-insert-formatted-citation-line): * lisp/image-dired.el: * lisp/net/eww.el: * lisp/net/imap.el (imap-kerberos4-open, imap-gssapi-open) (imap-shell-open): * lisp/net/network-stream.el (network-stream-open-shell): * lisp/obsolete/tls.el (open-tls-stream): * lisp/textmodes/tex-mode.el: Remove extraneous loads and autoloads of format-spec now that it is autoloaded and simplify its uses where possible. * test/lisp/battery-tests.el (battery-format): Test new format-spec support. * test/lisp/format-spec-tests.el (test-format-spec): Rename to... (format-spec) ...this, extending test cases. (test-format-unknown): Rename to... (format-spec-unknown): ...this, extending test cases. (test-format-modifiers): Rename to... (format-spec-flags): ...this. (format-spec-make, format-spec-parse-flags, format-spec-do-flags) (format-spec-do-flags-truncate, format-spec-do-flags-pad) (format-spec-do-flags-chop, format-spec-do-flags-case): New tests.
2020-06-10Improved light/dark colour predicate (bug#41544)Mattias Engdegård1-12/+2
Add a predicate, color-dark-p, for deciding whether a colour is more readable with black or white as contrast. It has experimentally been shown to be more accurate and robust than the various methods currently employed. The new predicate compares the relative luminance of the colour to an empirically determined cut-off value, and it seems to get it right in almost all cases, with no value leading to outright bad results. * lisp/faces.el (readable-foreground-color): Use color-dark-p. (color-dark-p): New function. * lisp/facemenu.el (list-colors-print): Use readable-foreground-color, improving readability of list-colors-display. * lisp/textmodes/css-mode.el (css--contrasty-color): Remove. (css--fontify-region): Use readable-foreground-color.
2020-05-31Remove mhtml--extend-font-lock-region (Bug#41441)Tom Tromey1-50/+0
* lisp/textmodes/mhtml-mode.el (mhtml--extend-font-lock-region): Remove. (mhtml-mode): Don't set font-lock-extend-region-functions.
2020-05-16* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)Stefan Monnier1-3/+3
2020-05-11; Fix last change to bibtex.elBasil L. Contovounesios1-0/+1
* lisp/textmodes/bibtex.el (bibtex-autokey-before-presentation-function): Bump :version tag now that nil is no longer a valid value.
2020-05-11* lisp/textmodes/bibtex.el: Avoid `eval`Stefan Monnier1-50/+59
In the top-level construction of the entry-type commands, use `defalias` instead of (eval `(defun ...)). (bibtex-insert-kill): Strength reduce `eval` => `symbol-value`. (bibtex-autokey-before-presentation-function): Avoid nil value.
2020-05-10Allow underscores in CSS variable namesSimen Heggestøyl1-1/+1
* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in variable names (and in identifiers in general). * test/manual/indent/css-mode.css: Add some examples of variable names with underscores in them. * test/manual/indent/less-css-mode.less: Add some examples of variable names with underscores in them. * test/manual/indent/scss-mode.scss: Add some examples of variable names with underscores in them.
2020-05-10Add containment module to CSS property listSimen Heggestøyl1-0/+4
* lisp/textmodes/css-mode.el (css-property-alist): Add new properties from CSS Containment Module Level 1.
2020-05-10Add writing modes module to CSS property listSimen Heggestøyl1-2/+10
* lisp/textmodes/css-mode.el (css-property-alist): Add new properties from the CSS Writing Modes Level 3 module.
2020-05-06Prefer 'strong' and 'em' to 'b' and 'i' in html-modeStefan Kangas1-3/+3
* lisp/textmodes/sgml-mode.el (html-face-tag-alist): Prefer inserting 'strong' and 'em' tags to 'b' and 'i' in html-mode. (Bug#41031) * lisp/textmodes/sgml-mode.el (html-mode): Update docstring to do the same.
2020-04-25Use lexical-binding in po.el and add testsSimen Heggestøyl1-1/+1
* lisp/textmodes/po.el: Use lexical-binding. * test/lisp/textmodes/po-tests.el: New file with tests for po.el.
2020-04-18; Fix some typos and doc issues (bug#40695)Štěpán Němec1-5/+5
2020-04-16Fix bugs, inefficiencies and bad style in regexpsMattias Engdegård1-1/+4
Found by relint. See discussion at https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html * lisp/org/org-table.el (org-table-finish-edit-field): * lisp/arc-mode.el (archive-rar-summarize): Avoid wrapped subsumption in repeated sequences. * lisp/erc/erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Replace inefficient repeated empty-matching expression with a plain greedy form. (erc-dcc-handle-ctcp-send): Adjust group numbers. * lisp/net/puny.el (puny-encode-domain): Fix fast-path shortcut pattern so that it actually works as intended. * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): * lisp/vc/diff-mode.el (diff-imenu-generic-expression): Remove superfluous backslashes. * lisp/progmodes/scheme.el (scheme-imenu-generic-expression): Correct confused definition-matching pattern which would match more than intended. * lisp/textmodes/sgml-mode.el (sgml-tag-name-re): Avoid inefficient matching by using the fact that the first character cannot match the last char of sgml-name-re.
2020-04-14Fix edge case errors in filename-matching regexpsMattias Engdegård1-1/+1
These changes fix actual or latent bugs in regexps that match file names, such as PATTERN arguments to 'directory-files'. See https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html * admin/authors.el (authors-obsolete-files-regexps) (authors-renamed-files-regexps): * lisp/auth-source-pass.el (auth-source-pass-entries): * lisp/calendar/todo-mode.el (todo-show, todo-find-filtered-items-file) (todo-filter-items, todo-reset-nondiary-marker, todo-reset-done-string) (todo-reset-comment-string, todo-reset-highlight-item): * lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches): * lisp/cedet/semantic/texi.el (semantic-texi-associated-files): * lisp/cedet/srecode/map.el (srecode-map-update-map): * lisp/dired.el (dired-re-no-dot): * lisp/emacs-lisp/autoload.el (update-directory-autoloads): * lisp/emacs-lisp/shadow.el (load-path-shadows-find): * lisp/files.el (auto-mode-alist, directory-files-no-dot-files-regexp): * lisp/finder.el (finder-compile-keywords): * lisp/generic-x.el (inetd-conf-generic-mode, named-boot-generic-mode) (resolve-conf-generic-mode, etc-modules-conf-generic-mode): * lisp/gnus/gnus-agent.el (gnus-agent-read-agentview) (gnus-agent-regenerate-group, gnus-agent-update-files-total-fetched-for): * lisp/gnus/gnus-cache.el (gnus-cache-articles-in-group): * lisp/gnus/gnus-score.el (gnus-score-search-global-directories): * lisp/gnus/gnus-util.el (gnus-delete-directory): * lisp/gnus/gnus-uu.el (gnus-uu-dir-files): * lisp/gnus/nndraft.el (nndraft-request-group): * lisp/gnus/nnmh.el (nnmh-request-group, nnmh-request-create-group): (nnmh-request-delete-group, nnmh-active-number, nnmh-update-gnus-unreads): * lisp/gnus/nnspool.el (nnspool-request-group): * lisp/gnus/spam-stat.el (spam-stat-process-directory) (spam-stat-test-directory): * lisp/help-fns.el (help-fns--first-release): * lisp/help.el (view-emacs-news): * lisp/international/quail.el (quail-update-leim-list-file): * lisp/international/titdic-cnv.el (batch-titdic-convert): * lisp/mail/mspools.el (mspools-set-vm-spool-files) (mspools-get-spool-files): * lisp/mail/rmail.el (rmail-secondary-file-regexp) (rmail-speedbar-match-folder-regexp): * lisp/net/ange-ftp.el (ange-ftp-delete-directory): * lisp/net/tramp.el (tramp-use-absolute-autoload-file-names): * lisp/obsolete/gulp.el (gulp-send-requests): * lisp/obsolete/vc-arch.el (vc-arch-trim-revlib): * lisp/org/ob-core.el (org-babel-remove-temporary-directory): * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp, ebnf-style-database): * lisp/progmodes/executable.el (executable-command-find-posix-p): * lisp/startup.el (command-line): * lisp/textmodes/refer.el (refer-get-bib-files): * lisp/url/url-about.el (url-probe-protocols): * lisp/vc/vc-rcs.el (vc-rcs-register, vc-rcs-unregister): * test/lisp/net/tramp-archive-tests.el (tramp-archive-test19-directory-files-and-attributes): * test/lisp/net/tramp-tests.el (tramp-test19-directory-files-and-attributes): Replace ^ and $ with \` and \', respectively. Use (rx (or (not ".") "...")), translated into "[^.]\\|\\.\\.\\.", to match anything but "." and "..", instead of several incorrect regexps.
2020-04-03Update texinfo.el following changes in 'tex-start-options-string'Ernest N. Mamikonyan1-3/+10
* lisp/textmodes/texinfo.el (texinfo-texi2dvi-options): New defcustom. (texinfo-tex-buffer): Take 'tex-start-options' from 'texinfo-texi2dvi-options'. (Bug#40001) * etc/NEWS: Mention the new option. Copyright-paperwork-exempt: yes
2020-03-27* lisp/textmodes/tex-mode.el: Replace double-definition hack with an adviceStefan Monnier1-33/+27
(tex-verbatim-environments): Add "Verbatim". (tex--guess-mode): Rename from tex-guess-mode and return the mode rather than calling it. (tex-mode): Replace second definition with an advice.
2020-03-25* lisp/textmodes/conf-mode.el (conf-mode): Fix last changeStefan Monnier1-21/+25
`delay-mode-hooks` cannot be tested from within `define-derived-mode` because it's always non-nil in there, so arrange to test it before we enter the body.
2020-03-21Declare some <package>-version variables obsoleteStefan Kangas1-0/+1
These are not used for anything these days and can therefore be removed. Package developers should check the Emacs version instead. Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html * lisp/calendar/icalendar.el (icalendar-version): * lisp/dframe.el (dframe-version): * lisp/emacs-lisp/checkdoc.el (checkdoc-version): * lisp/emulation/edt.el (edt-version): * lisp/international/mule.el (mule-version) (mule-version-date): * lisp/linum.el (linum-version): * lisp/play/bubbles.el (bubbles-version): * lisp/speedbar.el (speedbar-version): * lisp/textmodes/remember.el (remember-version): * lisp/url/url-vars.el (url-version): * lisp/woman.el (woman-version): Declare obsolete. * lisp/emacs-lisp/checkdoc.el (checkdoc-start-section): * lisp/speedbar.el (speedbar-mode): * lisp/url/url-about.el (url-about-protocols): * lisp/url/url-http.el (url-http--user-agent-default-string): * lisp/url/url-news.el (url-news-fetch-message-id): * lisp/woman.el (woman-menu, woman-mode): Stop using variables declared obsolete above.
2020-03-21Add "Old-" prefix to "Version" header in some casesStefan Kangas1-1/+1
These version numbers are historical accidents and not relevant today. Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html * lisp/calendar/icalendar.el: * lisp/emacs-lisp/checkdoc.el: * lisp/hippie-exp.el: * lisp/linum.el: * lisp/master.el: * lisp/progmodes/cwarn.el: * lisp/repeat.el: * lisp/ruler-mode.el: * lisp/textmodes/remember.el: * lisp/wdired.el: * lisp/woman.el: Change "Version" header to "Old-Version".
2020-03-14* lisp/textmodes/conf-mode.el (conf-mode): Use define-derived-modeStefan Monnier1-98/+75
(conf--guess-mode): Extract from conf-mode. (defcustoms): Remove redundant `:group` args. (conf-mode, conf-mode-initialize, conf-javaprop-mode) (conf-space-mode, conf-space-keywords, conf-space-mode-internal) (conf-colon-mode): Use `setq-local`.
2020-03-14* lisp/textmodes/fill.el (fill-nobreak-predicate): Fix documentation.Philipp Stephani1-1/+2
2020-03-06Use regexp-opt to define bibtex-autokey-transcriptions. (Bug#39686)Roland Winkler1-23/+27
2020-03-06Improve documentation of 'table-generate-source'Eli Zaretskii1-10/+11
* lisp/textmodes/table.el (table-generate-source): Doc fix. (Bug#39935) * etc/NEWS: Fix wording of the 'table-generate-source' entry and mark it as documented.
2020-02-25* lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove key 'M-s' (bug#39706)Juri Linkov1-1/+0
2020-02-20Remove subsumed repetitions in regexpsMattias Engdegård1-1/+1
Make regexps smaller and faster by removing terms that are superfluous by virtue of standing next to another term that matches more. See https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html for details. * lisp/bs.el (bs--make-header-match-string): * lisp/gnus/deuglify.el (gnus-outlook-repair-attribution-block): * lisp/gnus/message.el (message-subject-trailing-was-ask-regexp) (message-subject-trailing-was-regexp): * lisp/informat.el (Info-validate): * lisp/net/browse-url.el (browse-url-button-regexp): * lisp/net/rcirc.el (rcirc-url-regexp): * lisp/org/ob-core.el (org-babel-remove-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/org-capture.el (org-capture-set-target-location): * lisp/org/org-table.el (org-table-expand-lhs-ranges): * lisp/org/org.el (org-maybe-keyword-time-regexp, org-ts-regexp) (org-ts-regexp-inactive, org-ts-regexp-both): * lisp/play/gametree.el (gametree-hack-file-layout): * lisp/progmodes/cc-mode.el (c-Java-defun-prompt-regexp): * lisp/progmodes/idlw-shell.el (idlwave-shell-halting-error): * lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): * lisp/progmodes/verilog-mode.el (verilog-error-font-lock-keywords) (verilog-verilint-off, verilog-case-indent-level) (verilog-within-translate-off, verilog-start-translate-off) (verilog-back-to-start-translate-off, verilog-end-translate-off) (verilog-expand-dirnames): * lisp/term.el (term-control-seq-regexp): * lisp/textmodes/reftex-vars.el (featurep): * lisp/url/url-gw.el (url-open-telnet): * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): * lisp/vc/pcvs-parse.el (cvs-parse-status): * test/src/regex-emacs-tests.el (regex-tests-PCRE): Remove subsumed repetitions. * lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Simplify repetition of a repetition.
2020-02-20Add and remove backslashes in regexpsMattias Engdegård1-3/+3
These irregularities were found by relint; see https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00949.html . * doc/lispref/modes.texi (Example Major Modes): * etc/srecode/el.srt: * lisp/cedet/data-debug.el (data-debug-mode): * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): * lisp/cedet/srecode/srt-mode.el (srecode-template-mode): * lisp/comint.el (comint--unquote&requote-argument): * lisp/emacs-lisp/lisp-mode.el (lisp-mode): * lisp/gnus/mm-uu.el (mm-uu-type-alist): * lisp/progmodes/cc-awk.el (c-awk-harmless-pattern-characters*): * lisp/progmodes/cfengine.el (cfengine-common-settings): * lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp, cperl-init-faces): * lisp/shell.el (shell-chdrive-regexp, shell--unquote&requote-argument): * lisp/textmodes/tex-mode.el (tex-common-initialization): Remove duplicated backslashes in character alternatives. * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): * lisp/progmodes/opascal.el (opascal--syntax-propertize): * lisp/progmodes/pascal.el (pascal--syntax-propertize): Remove backslashes escaping non-special characters. * lisp/progmodes/fortran.el (fortran-font-lock-keywords-3): Escape '*'. * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): Escape '^'.
2020-01-27dns-mode-soa-auto-increment-serial: safe if symbolpStephen Gildea1-0/+1
* lisp/textmodes/dns-mode.el (dns-mode-soa-auto-increment-serial): Mark variable as safe as a file local variable when symbolp.
2020-01-24Remove (or double) redundant backslashes in string literalsMattias Engdegård1-1/+1
See discussion at https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00749.html . * lisp/obsolete/iswitchb.el (iswitchb-summaries-to-end): * test/src/regex-emacs-tests.el (regex-tests-BOOST-frob-escapes): * test/lisp/help-fns-tests.el (help-fns-test-lisp-macro) (help-fns-test-lisp-defun, help-fns-test-lisp-defsubst) (help-fns-test-alias-to-defun, help-fns-test-bug23887): Double backslashes for desired effect. * lisp/org/ol.el (org-link-escape): * lisp/net/nsm.el (nsm-protocol-check--rsa-kx) (nsm-protocol-check--anon-kx, nsm-protocol-check--sha1-sig): * lisp/obsolete/old-whitespace.el (whitespace-buffer): * lisp/obsolete/rcompile.el (remote-compile-run-before): * lisp/obsolete/vi.el (vi-end-of-blank-delimited-word): * lisp/obsolete/vip.el (vip-current-major-mode) (vip-paren-match, vip-switch-to-buffer) (vip-switch-to-buffer-other-window, vip-kill-buffer) (vip-get-ex-token, ex-edit): * lisp/org/org-element.el (org-element--cache-sync-requests): * lisp/org/org.el (org-sparse-tree): * lisp/textmodes/reftex.el (reftex-report-bug): * test/lisp/ibuffer-tests.el (ibuffer-save-filters): * test/lisp/international/ucs-normalize-tests.el (ucs-normalize-tests--insert-failing-lines): * test/lisp/simple-tests.el (undo-test-kill-c-a-then-undo): * test/lisp/textmodes/conf-mode-tests.el (conf-test-toml-mode): * test/src/regex-emacs-tests.el (regex-tests-compare): Remove redundant backslashes.
2020-01-23Minor doc string clarification in use-hard-newlinesLars Ingebrigtsen1-1/+1
* lisp/textmodes/paragraphs.el (use-hard-newlines): Clarify that this minor mode isn't global (bug#20461).
2020-01-17; spelling fixesPaul Eggert1-1/+1
2020-01-17Fix wording and punctuation of a recent commitEli Zaretskii1-3/+3
* lisp/textmodes/ispell.el (ispell-correct-p): Doc fix. * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Fix capitalization and punctuation of comments.
2020-01-17Add unattended spell-checking to checkdocDamien Cassou1-12/+38
This commit makes checkdoc capable of spell-checking even when the user isn't using it interactively. When TAKE-NOTES is non-nil, checkdoc will run spell-checking (with ispell) and report spelling mistakes. Fixes: (bug#38583). * lisp/textmodes/ispell.el (ispell-word): Extract part of it to `ispell--run-on-word`. (ispell--run-on-word): New function, extracted from `ispell-word`. (ispell-error-checking-word): New function. (ispell-correct-p): New function. Use `ispell--run-on-word` and `ispell-error-checking-word`. * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass TAKE-NOTES to `checkdoc-start`. (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`. (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and pass it to `checkdoc-this-string-valid-engine`. (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES and pass it to `checkdoc-ispell-docstring-engine`. (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and `ispell-accept-buffer-local-defs`. These calls are required to properly use ispell. The problem went unnoticed until now because checkdoc was only using ispell through the high-level command `ispell-word` which takes care of all the initialization for the user. (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES to force reporting of spell-checking errors. Throw error when (checkdoc-ispell-init) fails configuring ispell. Replace a few (if cond nil body) with (unless cond body). Replace (let ((var nil))) with (let (var)). Replace (if (not (eq checkdoc-autofix-flag 'never)) body) with just body because `checkdoc-autofix-flag` is checked at the beginning of the function. (cherry picked from commit 25adbc4a5ecc3e16625c0171607e3153bbdf7ab1)
2020-01-16Make more load-hooks obsoleteGlenn Morris2-0/+4
* lisp/align.el (align-load-hook): * lisp/autorevert.el (auto-revert-load-hook): * lisp/bookmark.el (bookmark-load-hook): * lisp/cmuscheme.el (cmuscheme-load-hook): * lisp/dired.el (dired-load-hook): * lisp/expand.el (expand-load-hook): * lisp/ibuffer.el (ibuffer-load-hook): * lisp/msb.el (msb-after-load-hook): * lisp/recentf.el (recentf-load-hook): * lisp/speedbar.el (speedbar-load-hook): * lisp/strokes.el (strokes-load-hook): * lisp/calc/calc.el (calc-load-hook): * lisp/calendar/timeclock.el (timeclock-load-hook): * lisp/emulation/viper-init.el (viper-load-hook): * lisp/progmodes/cwarn.el (cwarn-load-hook): * lisp/progmodes/idlwave.el (idlwave-load-hook): * lisp/progmodes/inf-lisp.el (inferior-lisp-load-hook): * lisp/progmodes/meta-mode.el (meta-mode-load-hook): * lisp/textmodes/reftex-vars.el (reftex-load-hook): * lisp/textmodes/table.el (table-load-hook): * lisp/url/url-vars.el (url-load-hook): * lisp/vc/ediff-init.el (ediff-load-hook): Obsolete for with-eval-after-load.
2020-01-16Add unattended spell-checking to checkdocDamien Cassou1-12/+38
This commit makes checkdoc capable of spell-checking even when the user isn't using it interactively. When TAKE-NOTES is non-nil, checkdoc will run spell-checking (with ispell) and report spelling mistakes. Fixes: (bug#38583). * lisp/textmodes/ispell.el (ispell-word): Extract part of it to `ispell--run-on-word`. (ispell--run-on-word): New function, extracted from `ispell-word`. (ispell-error-checking-word): New function. (ispell-correct-p): New function. Use `ispell--run-on-word` and `ispell-error-checking-word`. * lisp/emacs-lisp/checkdoc.el (checkdoc-current-buffer): Pass TAKE-NOTES to `checkdoc-start`. (checkdoc-continue): Pass TAKE-NOTES to `checkdoc-this-string-valid`. (checkdoc-this-string-valid): Add optional argument TAKE-NOTES and pass it to `checkdoc-this-string-valid-engine`. (checkdoc-this-string-valid-engine): Add optional argument TAKE-NOTES and pass it to `checkdoc-ispell-docstring-engine`. (checkdoc-ispell-init): Call `ispell-set-spellchecker-params` and `ispell-accept-buffer-local-defs`. These calls are required to properly use ispell. The problem went unnoticed until now because checkdoc was only using ispell through the high-level command `ispell-word` which takes care of all the initialization for the user. (checkdoc-ispell-docstring-engine): Add optional argument TAKE-NOTES to force reporting of spell-checking errors. Throw error when (checkdoc-ispell-init) fails configuring ispell. Replace a few (if cond nil body) with (unless cond body). Replace (let ((var nil))) with (let (var)). Replace (if (not (eq checkdoc-autofix-flag 'never)) body) with just body because `checkdoc-autofix-flag` is checked at the beginning of the function.
2020-01-05Move “Fix some broken conditional forms” to masterPaul Eggert1-1/+5
Revert 2020-01-04T19:17:12Z!eggert@cs.ucla.edu which recently I installed into the emacs-27 branch by mistake. These patches are now on master instead (via merging). Do not merge to master.
2020-01-04Fix some broken conditional formsPaul Eggert1-5/+1
Problem reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2020-01/msg00088.html * lisp/cedet/ede/cpp-root.el (ede-create-lots-of-projects-under-dir): Remove this quick hack, which didn’t do anything anyway. * lisp/cedet/ede/pconf.el (ede-proj-configure-test-required-file): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): * lisp/net/nsm.el (nsm-check-tls-connection): Use ‘when’ rather than bypassing it. This doesn’t affect behavior and is better style. * lisp/cedet/srecode/semantic.el (srecode-semantic-handle-:tag): Fix typo that suppressed an error. * lisp/filesets.el (filesets-run-cmd): Fix typo that mishandled spacing. * lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data): Fix typo that caused “GROUP has older different info in the cloud as of DATE, update it here?” prompt result to always be treated as “yes”. * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Simplify, since smime-encrypt-buffer signals error on failure. * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify. The conversion of this file to utf-8-emacs in 2019-01-08T02:18:40Z!monnier@iro.umontreal.ca removed the distinction between Big5 and CNS fulltitles in the generated docstring. * lisp/org/org-agenda.el (org-agenda-show-and-scroll-up): * lisp/textmodes/table.el (table--generate-source-cell-contents): Simplify by removing useless code. * lisp/org/ox-odt.el (org-odt--format-timestamp): Fix typo that always output time-of-day even when the timestamp lacked it.
2020-01-01Update copyright year to 2020Paul Eggert46-46/+46
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2019-12-26Use regexp type for regexps in defcustom declarationsMattias Engdegård3-5/+5
* lisp/calendar/diary-lib.el (diary-face-attrs): * lisp/cedet/semantic/db-ebrowse.el (semanticdb-ebrowse-file-match): * lisp/cedet/srecode/document.el (srecode-document-autocomment-common-nouns-abbrevs) (srecode-document-autocomment-function-alist) (srecode-document-autocomment-return-first-alist) (srecode-document-autocomment-return-last-alist) (srecode-document-autocomment-param-alist) (srecode-document-autocomment-param-type-alist): * lisp/desktop.el (desktop-clear-preserve-buffers): * lisp/elide-head.el (elide-head-headers-to-hide): * lisp/erc/erc-backend.el (erc-encoding-coding-alist): * lisp/erc/erc-ezbounce.el (erc-ezb-regexp): * lisp/files.el (auto-save-file-name-transforms): * lisp/gnus/deuglify.el (gnus-outlook-deuglify-attrib-cut-regexp) (gnus-outlook-deuglify-attrib-verb-regexp) (gnus-outlook-deuglify-attrib-end-regexp): * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files): * lisp/gnus/spam.el (spam-spamassassin-positive-spam-flag-header): * lisp/htmlfontify.el (hfy-src-doc-link-unstyle): * lisp/info-look.el (info-lookup-file-name-alist): * lisp/international/rfc1843.el (rfc1843-newsgroups-regexp): * lisp/mail/feedmail.el (feedmail-queue-slug-suspect-regexp): * lisp/mail/rmail-spam-filter.el (rsf-white-list, rsf-definitions-alist): * lisp/man.el (Man-name-local-regexp): * lisp/net/ange-ftp.el (ange-ftp-dumb-unix-host-regexp): * lisp/net/newst-backend.el (newsticker-auto-mark-filter-list): * lisp/net/rcirc.el (rcirc-authinfo, rcirc-coding-system-alist): * lisp/net/tramp-adb.el (tramp-adb-prompt): * lisp/org/org-agenda.el (org-agenda-hide-tags-regexp) (org-agenda-category-icon-alist): * lisp/org/org-protocol.el (org-protocol-data-separator): * lisp/org/org-table.el (org-table-number-regexp): * lisp/org/ox-latex.el (org-latex-known-warnings): * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): * lisp/progmodes/idlw-help.el (idlwave-help-doclib-name) (idlwave-help-doclib-keyword): * lisp/progmodes/idlwave.el (idlwave-no-change-comment): * lisp/progmodes/python.el (python-shell-prompt-input-regexps) (python-shell-prompt-output-regexps, python-shell-prompt-regexp) (python-shell-prompt-block-regexp, python-shell-prompt-output-regexp) (python-shell-prompt-pdb-regexp, python-shell-compilation-regexp-alist) (python-pdbtrack-stacktrace-info-regexp): * lisp/progmodes/sql.el (sql-send-terminator, sql-ansi-statement-starters): * lisp/speedbar.el (speedbar-directory-unshown-regexp) (speedbar-file-unshown-regexp): * lisp/textmodes/flyspell.el (flyspell-mark-duplications-exceptions) (flyspell-tex-command-regexp): * lisp/textmodes/paragraphs.el (sentence-end-base): * lisp/textmodes/tildify.el (tildify-pattern, tildify-space-pattern): * lisp/vc/ediff-init.el (ediff-metachars): * lisp/vc/vc-git.el (vc-git-root-log-format): * lisp/vc/vc-hg.el (vc-hg-root-log-format): * lisp/whitespace.el (whitespace-indentation-regexp) (whitespace-space-after-tab-regexp): * lisp/woman.el (woman-manpath-man-regexp) (woman-imenu-generic-expression): Use 'regexp' instead of 'string' as type for values that are regexps in defcustom declarations.
2019-11-30Fix preserving cell boundaries in table.el after <delete>Michal Sojka1-0/+1
* lisp/textmodes/table.el (table-command-remap-alist): Add entry for 'delete-forward-char'. (Bug#38353)
2019-11-29* lisp/textmodes/mhtml-mode.el: Fix bug#38372Stefan Monnier2-29/+28
The `sgml-syntax-propertize-rules` rely on the `sgml--syntax-propertize-ppss` setup by `sgml-syntax-propertize` so it is not correct/safe to use them directly like html used to do. Change `sgml-syntax-propertize` so it can be used by mhtml, and then adjust mhtml-mode accordingly. * lisp/textmodes/mhtml-mode.el: Remove redundant `eval-and-compile`. Only require cl-lib at compile-time. (mhtml--syntax-propertize): New const, extracted from mhtml-syntax-propertize. (mhtml-syntax-propertize): Use `sgml-syntax-propertize`. * lisp/textmodes/sgml-mode.el (sgml--syntax-propertize): New const, extracted from sgml-syntax-propertize. (sgml-syntax-propertize): Add optional `rules-function` arg.
2019-11-17Make tables more resistant to major mode changesLars Ingebrigtsen1-2/+2
* lisp/textmodes/table.el (table--put-cell-face-property) (table--remove-cell-properties): Ensure that we don't lose the table face when switching from buffers with font locking to ones without (or vice versa) (bug#35481).
2019-11-17Make bibtex-parse-keys more robustLars Ingebrigtsen1-0/+3
* lisp/textmodes/bibtex.el (bibtex-parse-keys): Protect against bugging out just when starting almost-empty bibtex files (bug#30112).
2019-11-16tex-mode: paragraph separator groups text and commentsMichael Orlitzky1-1/+1
* lisp/textmodes/tex-mode.el (latex-mode): Don't wrap text with leading spaces into preceding comments (bug#38152). Copyright-paperwork-exempt: yes
2019-11-11Fix a few more minor quoting problems.Paul Eggert1-1/+1
2019-11-11Fix some quoting glitches in doc stringsPaul Eggert1-2/+2
2019-11-03Add a <a id=...> skeleton to html-modeLars Ingebrigtsen1-0/+8
* lisp/textmodes/sgml-mode.el (html-id-anchor): New skeleton and keystroke (bug#37651).
2019-10-30Support \pagebreak[0] for paragraph-separate in latex-modeKevin Ryde1-1/+2
* textmodes/tex-mode.el (latex-mode): In 'paragraph-separate' allow optional argument ('[0]', etc.) for '\pagebreak[0]'. (Bug#19039)
2019-10-30Tweak fontification of \url{http://foo.org/bar%zot} in (la)tex-modeLars Ingebrigtsen1-1/+1
* lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): \url{http://foo.org/bar%zot} shouldn't be fontified as having a comment, so make the tex-verbatim face overwrite the already-applied syntactical comment bits (bug#37134).