Commit graph

3335 commits

Author SHA1 Message Date
João Távora
4f38bdec74 Examine tex-chktex--process in the correct buffer
As in other Flymake backends, the process sentinel might run in
arbitrary buffers where this variable's value doesn't make sense.

For a way to trigger a problem due to this, see discussion starting in
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html

* lisp/textmodes/tex-mode.el (tex-chktex): Use
with-current-buffer.
2017-11-03 19:06:01 +00:00
Simen Heggestøyl
a9f8706fa8 Fix completion of colon after CSS property (Bug#29056)
* lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
": ;" after completing a CSS property unless the rest of the line is
empty.
2017-11-02 20:39:39 +01:00
Tom Tromey
056587c45f Extend mhtml submode region when in comment
* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
submode when start happens to be in a comment.
2017-10-29 13:03:51 -06:00
Tom Tromey
4c4ad80848 Fix mthml submode lighting at end of buffer
* lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
buffer correctly.
2017-10-29 12:05:28 -06:00
Tom Tromey
557e252aa2 Remember more variables in mhtml-mode
* lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
"completion-" and "major-mode".
(mhtml--variable-prefix): Remove "major-mode".
2017-10-29 11:50:16 -06:00
Mark Oteiza
2ebdde6e9c Add ChkTeX flymake backend for latex-mode
* lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
(tex-chktex-program, tex-chktex-extra-flags): New custom variables.
(latex-mode): Add backend to flymake-diagnostic-functions.
(tex-chktex--process): New variable.
(tex-chktex-command, tex-chktex): New functions.
2017-10-28 20:32:50 -04:00
Glenn Morris
5b59841791 Fix doc typos
* lisp/simple.el (line-move-ignore-invisible):
* lisp/sort.el (sort-regexp-fields):
* lisp/cedet/ede.el (project-add-file):
* lisp/gnus/message.el (message-bogus-recipient-p):
* lisp/international/mule.el (define-coding-system):
* lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
* lisp/progmodes/xscheme.el (xscheme-allow-output-p)
(scheme-interaction-mode, scheme-debugger-mode)
(xscheme-yank-pop, xscheme-yank-push): Doc fixes.
2017-10-28 17:10:25 -07:00
Daniel Lublin
196106d37d Support Certification Authority Authorization in dns-mode.el
* lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
(Bug#28911)

Copyright-paperwork-exempt: yes
2017-10-27 16:59:42 +03:00
Paul Eggert
3aee7be62e Avoid unnecessary rounding errors in timestamps
Avoid the rounding errors of float-time when it’s easy.  E.g.,
replace (< (float-time a) (float-time b)) with (time-less-p a b).
* lisp/desktop.el (desktop-save):
* lisp/ecomplete.el (ecomplete-add-item):
* lisp/epg.el (epg-wait-for-completion):
* lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
* lisp/image-dired.el (image-dired-get-thumbnail-image)
(image-dired-create-thumb-1):
* lisp/info.el (info-insert-file-contents):
* lisp/ls-lisp.el (ls-lisp-format-time):
* lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
(ange-ftp-verify-visited-file-modtime):
* lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
* lisp/textmodes/remember.el (remember-store-in-mailbox):
* lisp/url/url-cookie.el (url-cookie-expired-p):
Bypass float-time to avoid rounding errors.

* lisp/files.el (dir-locals-find-file):
2017-10-22 01:07:32 -07:00
Gemini Lasswell
fb4200a875 Fix Edebug spec for cl-defun (bug#24255)
* lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
`cl-lambda-list' to support destructuring argument lists.
(cl-defun, cl-defmacro): Fix spelling errors in docstrings.
* lisp/textmodes/rst.el: Remove alternate version of Edebug
specs for `cl-lambda-list' and `cl-type-spec'.
2017-10-16 11:09:29 -07:00
Simen Heggestøyl
ff33053012 Fix indentation bug in multi-line CSS selectors
* lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
indentation of multi-line CSS selectors that include both a
pseudo-class and parenthesis.

* test/manual/indent/css-mode.css: Add test for the above change.
2017-10-13 21:57:52 +02:00
Paul Eggert
5d51403ceb ; Typo fixes, mostly repeated words 2017-10-09 22:55:06 -07:00
Paul Eggert
0d004ed01a ; Spelling fixes 2017-10-09 22:55:05 -07:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Simen Heggestøyl
60b7668b89 Keep eww buffer current when looking up CSS on MDN
* lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
current when looking up CSS documentation on MDN.  This fixes a bug
where the eww buffer's content sometimes get mangled when switching
buffers mid-render.
2017-10-01 20:27:07 +02:00
Eli Zaretskii
74d7bb9498 Fix errors in flyspell-post-command-hook
* lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
case of a nil Nth element of the language dictionary slot.  This
avoids errors in 'flyspell-post-command-hook' when switching
dictionaries with some spell-checkers.  (Bug#28501)
2017-09-19 19:32:09 +03:00
Tom Tromey
48d39c39e8 Search for Syntax section when viewing MDN
* lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
"Syntax" section.
2017-09-16 21:55:05 -06:00
Stefan Monnier
1d599df5e0 Fix last change to textmodes/page-ext.el
* lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
while we build it (bug#28431).
2017-09-16 20:10:31 -04:00
Eli Zaretskii
a103dbe360 Disable execution of unsafe Lisp by Enriched Text mode
* src/xdisp.c (handle_display_spec): If the display property is
wrapped in 'disable-eval' form, disable Lisp evaluation while
processing this property.
(handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
If that argument is false, don't evaluate Lisp while processing
display properties.

* lisp/textmodes/enriched.el
(enriched-allow-eval-in-display-props): New defcustom.
(enriched-decode-display-prop): If
enriched-allow-eval-in-display-props is nil, wrap the display
property with 'disable-eval' to disable Lisp evaluation when the
display property is processed for display.  (Bug#28350)
* lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
enriched text.

* doc/lispref/display.texi (Display Property): Document the
'disable-eval' wrapping of 'display' properties.
* doc/emacs/text.texi (Enriched Properties): Document
'enriched-allow-eval-in-display-props'.

* etc/NEWS: Describe the security issues with Enriched Text mode
and their solution.
2017-09-16 12:45:24 +03:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Mark Oteiza
370d0e7aa7 Update uses of if-let and when-let
* lisp/dom.el (dom-previous-sibling):
* lisp/emacs-lisp/package.el (package--with-work-buffer):
(package--sort-deps-in-alist, package--sort-by-dependence):
(package-install-from-archive, package-install):
(package-menu-execute, package-menu--populate-new-package-list):
* lisp/filenotify.el (file-notify--rm-descriptor):
(file-notify--event-watched-file, file-notify--event-file-name):
(file-notify--event-file1-name, file-notify-rm-watch):
(file-notify-valid-p):
* lisp/gnus/message.el (message-toggle-image-thumbnails):
* lisp/gnus/nnimap.el (nnimap-request-move-article):
* lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
* lisp/mpc.el (mpc-format):
* lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
(eww-save-history):
* lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
* lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
* lisp/svg.el (svg-remove):
* lisp/textmodes/css-mode.el (css--named-color):
(css--colon-inside-funcall):
* lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
(html-current-buffer-ids): Use if-let* and when-let* instead.
2017-09-12 13:18:10 -04:00
Paul Eggert
b3fd6831dc Merge Emacs 25.3 fixes
The security patches released for Emacs 25.3 were less drastic
than what we had immediately put into master.  Adjust master to
match 25.3 (Bug#28350).
* lisp/textmodes/enriched.el (enriched-translations):
Re-enable FUNCTION and display translations that are safe.
(enriched-handle-display-prop): Bring back.
(enriched-decode-display-prop): Bring back, but disable
the unsafe part.
2017-09-12 09:26:37 -07:00
Lars Ingebrigtsen
19584f13b1 Remove unsafe enriched mode translations
* lisp/gnus/mm-view.el (mm-inline-text):
Do not worry about enriched or richtext type.
* lisp/textmodes/enriched.el (enriched-translations):
Remove translations for FUNCTION, display (Bug#28350).
(enriched-handle-display-prop, enriched-decode-display-prop): Remove.
2017-09-09 15:30:07 -07:00
Mark Oteiza
043a84702f Font-lock FDO desktop files correctly
Single and double quotes do not have a special meaning in
desktop files.
https://standards.freedesktop.org/desktop-entry-spec/latest/
* etc/NEWS: Mention new mode.
* lisp/files.el (auto-mode-alist): Split out an entry for handling
the .desktop extension with conf-desktop-mode.
* lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
variable with rules for booleans and format specifiers.
(conf-unix-mode): Remove desktop file entry example from docstring.
(conf-desktop-mode): New derived major mode.
2017-08-27 22:40:52 -04:00
Tom Tromey
1be689fbc4 Refine conf-toml-mode font-lock
Bug#28218
* lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
conf-toml-recognize-section.  Use \s- in variable regexp.
(conf-toml-recognize-section): New function.
2017-08-26 20:36:51 -06:00
Reuben Thomas
bd9ad2ea10 Avoid using string-to-multibyte in ispell.el
* lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
decode-coding-string instead. Note that decode-coding-string returns a
string that satisfies multibyte-string-p even if its input is pure
ASCII and the third argument is t, so the result of
ispell-get-decoded-string is always a multibyte string.
2017-08-24 18:53:28 +01:00
Tom Tromey
ad3cd227aa Add conf-toml-mode
* etc/NEWS: Mention conf-toml-mode.
* lisp/files.el (auto-mode-alist): Add entry for .toml.
* lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
(conf-toml-font-lock-keywords): New defvars.
(conf-toml-mode): New mode.
2017-08-23 16:06:48 -06:00
Noam Postavsky
bc157406a6 ; * lisp/textmodes/ispell.el: `subr-x' is only needed at compile time. 2017-08-20 16:40:35 -04:00
Reuben Thomas
a5ff1fc069 Add missing require
* lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
2017-08-20 21:35:56 +01:00
Reuben Thomas
fc2ccb2ae8 Remove old comments and a redundant FIXME
* lisp/textmodes/ispell.el (ispell-process-line): Remove some old
commented code, a redundant FIXME, and outdated usage instructions.
2017-08-20 11:55:40 +01:00
Reuben Thomas
60d417545a Add Enchant support to ispell.el (Bug#17742)
* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
(ispell-really-enchant): Add variable.
(ispell-check-version): If using Enchant, check it’s new enough (at
least 1.6.1).  (Like the ispell check, this is absolute: cannot work
without.)
(ispell-enchant-dictionary-alist): Add variable.
(ispell-find-enchant-dictionaries): Add function, based on
ispell-find-aspell-dictionaries.
(ispell-set-spellchecker-params): Allow dictionary auto-detection for
Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
old ispell name to locale mapping code for Enchant too.
(ispell-send-replacement): Make it work with Enchant.
2017-08-20 11:55:40 +01:00
Simen Heggestøyl
141cc78aa4 Support indentation of detached Less CSS rulesets
* lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
for indentation of detached rulesets passed to Less mixins.

* test/manual/indent/less-css-mode.less: New file.
2017-08-15 14:38:15 +02:00
Simen Heggestøyl
85a9f42b6c Fixes and tweaks for the new Less CSS mode
* etc/NEWS: Add an entry for the new mode.

* lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
(less-css-lessc-command): Tweak docstring. Don't mark it as
safe. Don't autoload.
(less-css-compile-at-save, less-css-lessc-options)
(less-css-output-directory): Tweak docstrings. Don't autoload.
(less-css-output-file-name): Tweak docstring. Don't mark it as safe.
(less-css-input-file-name): Tweak docstring. Don't autoload.
(less-css-compile-maybe): Use `when' for one-armed `if'.
(less-css--output-path): Tweak docstring.
(less-css--maybe-shell-quote-command): Remove function.
(less-css-compile): Don't autoload. Tweak docstring and message. Fix
compiler warning. Use `string-join' instead of `mapconcat'.
(less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
variables.
(less-css-mode-syntax-table, less-css-mode-map): New variables.
(less-css-mode): Change status line mode name from "LESS" to
"Less". Tweak docstring. Move syntax table definitions to
`less-css-mode-syntax-table'.
(less-css-indent-line): Remove function.
2017-08-15 12:29:10 +02:00
Steve Purcell
3f887812e7 New major mode: Less CSS mode
* lisp/textmodes/less-css-mode.el: New file.
2017-08-15 12:28:53 +02:00
Arash Esbati
19d2b4a3e2 Make a case-sensitive match for strings
* lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
let-bind `case-fold-search' to nil in order to be case-sensitive
when matching a string.  (Bug#27518)
2017-08-12 08:11:11 +02:00
Reuben Thomas
e6fa08363d Revert "Add Enchant support to ispell.el (Bug#17742)"
This reverts commit 7136e6723d.
2017-08-07 21:59:06 +01:00
Reuben Thomas
7136e6723d Add Enchant support to ispell.el (Bug#17742)
* lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
(ispell-really-enchant): Add variable.
(ispell-check-version): If using Enchant, check it’s new enough (at
least 1.6.1).  (Like the ispell check, this is absolute: cannot work
without.)
(ispell-enchant-dictionary-alist): Add variable.
(ispell-find-enchant-dictionaries): Add function, based on
ispell-find-aspell-dictionaries.
(ispell-set-spellchecker-params): Allow dictionary auto-detection for
Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
old ispell name to locale mapping code for Enchant too.
(ispell-send-replacement): Make it work with Enchant.
2017-08-07 21:57:22 +01:00
Simen Heggestøyl
4219240e1d Change default CSS property face
* lisp/textmodes/css-mode.el (css-property): Inherit from
`font-lock-keyword-face' instead of `font-lock-variable-name-face' to
distinguish CSS properties from variables.
2017-07-30 11:30:13 +02:00
Stephen Berman
7017528273 artist.el: Avoid error with keyboard command invocation
* lisp/textmodes/artist.el (artist-mouse-choose-operation):
Call x-popup-menu with t instead of last-nonmenu-event as the
value of the position argument; this allows invoking the
command from the keyboard without raising an error (bug#27819).
2017-07-29 13:59:18 +02:00
Simen Heggestøyl
3d7221d09a Remove :options' from css-electric-keys'
* lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
since it just duplicates the default value.
2017-06-20 21:03:22 +02:00
Simen Heggestøyl
8960f6aa36 Complete CSS property values less eagerly (Bug#27392)
* lisp/textmodes/css-mode.el (css--complete-property-value): Be less
eager by looking for a colon after the property which values are being
completed for.

* test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
Add a test case ensuring that properties that are prefixes of other
properties don't hinder further completion.
2017-06-17 10:38:29 +02:00
Simen Heggestøyl
ee051688c1 Fix highlighting of CSS selectors with double hyphens
* lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
highlighting of selectors that contain double hyphens.  They would be
mistaken for a variable.
2017-06-11 19:32:17 +02:00
Glenn Morris
0cd94b8a03 ; Update some more Maintainer: header comments
; This removes some people who are absent from commit logs or mailing
; lists for upwards of a decade.
2017-06-05 21:08:07 -04:00
Simen Heggestøyl
d2d6e4452c Support a new CSS indentation style
* lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
immediately followed by a newline.

* test/manual/indent/css-mode.css: Add test for the change above.

* test/manual/indent/scss-mode.scss: Ditto.
2017-06-03 15:09:01 +02:00
Glenn Morris
c0f90833a7 Don't autoload new dns-mode command
* lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
Remove autoload cookie.
2017-05-24 13:11:32 -04:00
Peder O. Klingenberg
8f6550b38c New dns-mode command for IPv6 address conversion
This converts IPv6 addresses to a format suitable for
reverse lookup zone files.  (Bug#26820)
* lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
Add dns-mode-ipv6-to-nibbles.
(dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
New functions.
* test/lisp/dns-mode-tests.el: New file.
; * etc/NEWS: Mention this.
2017-05-23 20:34:08 -04:00
Tom Tromey
2963861f3d Fix mhtml-mode fontification bug
Bug#26922
* lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
sgml-syntax-propertize-inside if not in a submode.
* test/manual/indent/html-multi-4.html: New file.
2017-05-20 22:01:56 -06:00
Simen Heggestøyl
8deef1d6a7 Expand docstring for CSS mode
* lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
Expand docstrings.
2017-05-18 17:59:56 +02:00
Paul Eggert
723b16a875 ; Spelling fixes 2017-05-06 18:30:14 -07:00
Glenn Morris
a95fefd1e6 Decruftify dns-mode.el a little bit
* lisp/textmodes/dns-mode.el (dns-mode-control-entities):
New constant.
(dns-mode-control-entity, dns-mode-bad-control-entity)
(dns-mode-type, dns-mode-class): New faces.
(dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
(dns-mode-type-face, dns-mode-class): Make these variables use the
new faces, and mark as obsolete.
(dns-mode-font-lock-keywords): Use dns-mode-control-entities.
2017-05-05 21:44:09 -04:00