Commit graph

131 commits

Author SHA1 Message Date
Mattias Engdegård
ace9f67755 Avoid using rx any for not-newline
Despite its name, `any` does not match any character (use `anychar`
for that) but is an old synonym for `not-newline` and `nonl`,
retained for compatibility with the obsolete `sregex` package.

(In SRE as defined by SRFI-115, `any` does match any character.)

There is also a mild but unnecessary confusion with the more
frequently used `any` construct for character alternatives.

* lisp/edmacro.el (edmacro-mode-font-lock-keywords):
* lisp/erc/erc.el (erc--ensure-url):
* lisp/org/org.el (org-fontify-meta-lines-and-blocks-1):
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
* test/lisp/find-cmd-tests.el (find-cmd-test-find-cmd):
Replace uses of `any` with `nonl`.
2023-05-30 17:44:53 +02:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Rudolf Adamkovič
1fe4b98b4d Improve support for Scheme R6RS and R7RS libraries (bug#54704)
* etc/NEWS (Scheme mode): Document improved file-type auto-detection
and Imenu support for R6RS and R7RS Scheme libraries.
* lisp/files.el (auto-mode-alist): Associate the '.sls' (R6RS Scheme
Library Source) and '.sld' (R7RS Scheme Library Definition) file name
extensions with the Scheme mode.
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression): Make
Imenu recognize the members nested (and so indented) inside of
'library' (R6RS) or 'define-library' (R7RS) forms.
2022-12-27 15:57:45 +02:00
Stefan Kangas
70ecdebc92 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
Stefan Kangas
f01213bc20 Define docstring element for more forms in scheme-mode
* lisp/progmodes/scheme.el: Define docstring element for more
forms.  (Bug#33117)
2022-06-18 09:15:34 +02:00
Lars Ingebrigtsen
4c2ba16500 Improve scheme-mode syntax-rules indentation
* lisp/progmodes/scheme.el (syntax-rules): Indent syntax-rules
with a parameter better (bug#40869).
2022-06-06 15:32:03 +02:00
Stefan Kangas
7d74b8f632 Prefer defvar-keymap in some progmodes
* lisp/progmodes/asm-mode.el (asm-mode-map):
* lisp/progmodes/bug-reference.el (bug-reference-map):
* lisp/progmodes/erts-mode.el (erts-mode-map):
* lisp/progmodes/flymake.el (flymake-mode-map)
(flymake-diagnostics-buffer-mode-map):
* lisp/progmodes/icon.el (icon-mode-map):
* lisp/progmodes/js.el (js-mode-map):
* lisp/progmodes/m4-mode.el (m4-mode-map):
* lisp/progmodes/mixal-mode.el (mixal-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map): Prefer defvar-keymap.
2022-05-27 10:00:14 +02:00
Eli Zaretskii
25308a95f8 Improve documentation of 'scheme-indent-function' property
* lisp/progmodes/scheme.el: Extend and clarify the commentary
regarding the 'scheme-indent-function' property of special forms.
2022-04-20 19:36:59 +03:00
Jean Abou Samra
6713b07e08 Define indentation behavior for a few more special Scheme forms
* lisp/progmodes/scheme.el: Define 'scheme-indent-function'
property for 'and-let*', 'with-syntax', 'eval-when;, and
pattern matching macros.  (Bug#55033)

Copyright-paperwork-exempt: yes
2022-04-20 19:19:21 +03:00
Alex Kost
0e833a1d5f Improve scheme-imenu-generic-expression
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
Improve so that we match `define-public' etc (bug#33117).
2022-01-23 14:12:34 +01:00
Eli Zaretskii
dcd76bd48d Merge from origin/emacs-28
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year.
86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year
ebe8772f65 ; Minor fixes related to copyright years
23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye...
8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.
19dcb237b5 ; Add 2022 to copyright years.

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	lib/cdefs.h
#	lisp/erc/erc-dcc.el
#	lisp/erc/erc-imenu.el
#	lisp/erc/erc-replace.el
#	lisp/image-dired.el
#	lisp/progmodes/xref.el
#	m4/alloca.m4
#	m4/byteswap.m4
#	m4/errno_h.m4
#	m4/getopt.m4
#	m4/gnulib-common.m4
#	m4/inttypes.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/sys_socket_h.m4
2022-01-01 07:03:03 -05:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Lars Ingebrigtsen
c1a71ea774 Clean up duplicated setting in scheme-mode-variables
* lisp/progmodes/scheme.el (scheme-mode-variables): Remove
repeated setting.
2021-10-24 15:07:32 +02:00
Lars Ingebrigtsen
0d91c2ddae Fix font and indentation of call-with-port in scheme-mode
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
call-with-port (bug#48544).
(call-with-port): Indent correctly.
2021-05-25 22:22:28 +02:00
Stefan Kangas
8b07994e20 Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
Stefan Kangas
ffdb0a2d8e Convert some more progmode menus to easy-menu-define
* lisp/progmodes/dcl-mode.el (dcl-mode-map):
* lisp/progmodes/icon.el (icon-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map):
Move menu definitions from here...
* lisp/progmodes/dcl-mode.el (dcl-mode-menu):
* lisp/progmodes/icon.el (icon-mode-menu)
* lisp/progmodes/scheme.el (scheme-mode-menu):
...to here, and use easy-menu-define.

* lisp/progmodes/icon.el
(icon-mode-map, icon-mode-syntax-table): Simplify.
2021-02-26 16:51:19 +01:00
Stefan Kangas
a799f6d9d8 Minor cleanups in scheme.el
* lisp/progmodes/scheme.el: Remove redundant :group args.
(dsssl-font-lock-keywords): Use regexp-opt.
2021-02-12 18:50:55 +01:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Mattias Engdegård
905c0a13f7 Fix bugs, inefficiencies and bad style in regexps
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-16 12:14:38 +02:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Paul Eggert
e81c44fdb4 More regexp corrections and tweaks
Problems reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-03/msg00247.html
* lisp/align.el (align-rules-list):
* lisp/comint.el (comint-output-filter):
* lisp/language/china-util.el (encode-hz-region):
* lisp/progmodes/cperl-mode.el (cperl-indent-exp):
* lisp/progmodes/idlwave.el (idlwave-is-pointer-dereference):
* lisp/progmodes/scheme.el (dsssl-font-lock-keywords):
* lisp/textmodes/texinfmt.el (texinfo-accent-commands):
* test/src/regex-emacs-tests.el (regex-tests-re-even-escapes):
Fix some regular-expression typos.
2019-03-10 23:11:21 -07:00
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08: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
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Jorgen Schaefer
bf7fc7a804 scheme.el: Turn literal tabs into \t
* lisp/progmodes/scheme.el: The last change to turn tabs into spaces
also caught some literal tabs in character classes. Fix this by
adding \t to those classes.
2016-05-07 12:24:27 +02:00
Peter Feigl
8cfd9ba1a9 Add R7RS syntax forms to scheme.el
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
a number of special forms introduced in R7RS-small.
* lisp/progmodes/scheme.el (scheme-indent-function): Same.

Copyright-paperwork-exempt: yes
2016-05-01 13:46:30 +02:00
Jorgen Schaefer
7bced5ed11 ; Replace mixed tabs/spaces in scheme.el with just spaces
* lisp/progmodes/scheme.el: Remove tabs in preparation for
upcoming patch.
2016-05-01 13:46:29 +02:00
Simen Heggestøyl
ad99299f40 Allow pretty lambdas in Scheme mode
* lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
`prettify-symbols-alist' from Lisp mode (bug#21679).
2016-02-23 19:56:52 +11:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
284c470ef7 Backslash cleanup in Elisp source files
This patch should not change behavior.  It typically omits backslashes
where they are redundant (e.g., in the string literal "^\$").
In a few places, insert backslashes where they make regular
expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
"^\\*", which has the same effect as a regular expression.
Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
RCS IDs, as that makes it clearer that the backslash is intended.
2015-09-17 16:09:39 -07:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Glenn Morris
015936fba1 Merge from emacs-24; up to 2014-05-26T10:21:18Z!rgm@gnu.org 2014-05-25 19:28:09 -07:00
Stefan Monnier
0a5cfeeecb * lisp/progmodes/scheme.el (scheme-mode-syntax-table): Remove hack for
#; comments.
(scheme-syntax-propertize, scheme-syntax-propertize-sexp-comment):
New functions.
(scheme-mode-variables): Set syntax-propertize-function instead of
font-lock-syntactic-face-function.
(scheme-font-lock-syntactic-face-function): Delete.
2014-05-20 16:12:30 -04:00
Thien-Thi Nguyen
5e4ab4e4d9 Improve Scheme font-locking for (define ((foo ...) ...) ...).
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-1): To find
the declared object, ignore zero or more parens, not zero or one.
2014-04-25 00:37:28 +02:00
Leo Liu
d5031a2aa1 * progmodes/scheme.el (would-be-symbol, next-sexp-as-string):
Comment out unused functions.

* progmodes/xscheme.el (xscheme-expressions-ring)
(xscheme-expressions-ring-yank-pointer, xscheme-running-p)
(xscheme-control-g-disabled-p, xscheme-process-filter-state)
(xscheme-allow-output-p, xscheme-prompt)
(xscheme-string-accumulator, xscheme-mode-string): Use defvar-local.
2014-04-24 23:34:26 +08:00
Dmitry Gutov
4f8aeb84b6 Fix debbugs#16971
* lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Set
`comment-use-syntax' to t to avoid the unnecessary runtime check.
Set `comment-start-skip' to a simpler value that doesn't try to
check if the semicolon is escaped (this is handled by
`syntax-ppss' now). 

* lisp/progmodes/scheme.el (scheme-mode-variables): Same.
2014-03-17 08:22:58 +02:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Bozhidar Batsov
ae1f1ce1e2 * lisp/progmodes/python.el (python-mode): Remove incorrect text from docstring.
* lisp/progmodes/scheme.el (scheme-mode): Remove incorrect text from docstring.
* lisp/progmodes/prolog.el (prolog-mode): Remove incorrect text from docstring.
* lisp/emacs-lisp/lisp-mode.el (lisp-mode, lisp-interaction-mode, emacs-lisp-mode):
Remove incorrect text from docstring.
2013-11-05 11:47:47 +02:00
Simen Heggestøyl
12e5e86e89 Add some new scheme features (tiny change)
* lisp/progmodes/scheme.el (scheme-font-lock-keywords-2):
Add export, import, library. 
(library): Set indent function.

Fixes: debbugs:9164
2013-06-14 17:37:49 -07:00
Stefan Monnier
78be8b6465 Merge from emacs-24 2013-03-16 18:08:22 -04:00
Leo Liu
67ed8fcd04 * progmodes/scheme.el: Add indentation and font-locking for λ.
Fixes: debbugs:13975
2013-03-16 23:24:39 +08:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Chong Yidong
ba03d0d932 Modularize add-log-current-defun.
Suggested by Jari Aalto.

* lisp/emacs-lisp/lisp-mode.el (lisp-current-defun-name): New.
(lisp-mode-variables): Use it.

* lisp/progmodes/cc-mode.el (c-common-init):
* lisp/progmodes/cperl-mode.el (cperl-mode): Set a value for
add-log-current-defun-function.

* lisp/progmodes/m4-mode.el (m4-current-defun-name): New function.
(m4-mode): Use it.

* lisp/progmodes/perl-mode.el (perl-current-defun-name): New.
(perl-mode): Use it.

* lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode): Use
lisp-current-defun-name.

* lisp/textmodes/tex-mode.el (tex-current-defun-name): New.
(tex-common-initialization): Use it.

* lisp/textmodes/texinfo.el (texinfo-current-defun-name): New.
(texinfo-mode): Use it.

* lisp/vc/add-log.el (add-log-current-defun-function): Doc fix.
(add-log-current-defun): Move mode-specific code to other files.
(add-log-lisp-like-modes, add-log-c-like-modes)
(add-log-tex-like-modes): Variables deleted.

Fixes: debbugs:2224
2012-12-01 12:57:07 +08:00
Chong Yidong
3726946669 Remove incorrect uses of "modeline".
* ansi-color.el (ansi-color-faces-vector): Change default faces.

* cus-edit.el (mode-line):
* dframe.el (dframe-mouse-hscroll):
* emacs-lisp/re-builder.el:
* emacs-lisp/easy-mmode.el (define-minor-mode):
* frame.el (set-frame-name):
* help.el (lookup-minor-mode-from-indicator):
* net/rcirc.el (rcirc-activity-string, rcirc-short-buffer-name):
* progmodes/cc-cmds.el (c-toggle-auto-newline)
(c-toggle-hungry-state):
* progmodes/antlr-mode.el (antlr-language-alist):
* progmodes/idlw-shell.el (idlwave-shell-electric-stop-line-face):
* progmodes/vhdl-mode.el (vhdl-mode):
* progmodes/which-func.el (which-func, which-func-cleanup-function):
* term/ns-win.el (ns-face-at-pos):
* term/sup-mouse.el (sup-mouse-report):
* textmodes/flyspell.el (flyspell-mode-line-string):
* textmodes/ispell.el (ispell-highlight-face):
* textmodes/reftex-global.el:
* vc/vc-arch.el (vc-arch-mode-line-string):
* vc/vc-cvs.el (vc-cvs-mode-line-string):
* vc/vc-git.el (vc-git-mode-line-string):
* vc/vc-hooks.el (vc-display-status)
(vc-default-mode-line-string):
* vc/vc-mtn.el (vc-mtn-mode-line-string): Doc fixes.

* dired.el (dired-sort-set-mode-line): Rename from
dired-sort-set-modeline.  All callers changed.

* foldout.el (foldout-mode-line-string): Rename from
foldout-modeline-string.  All callers changed.
(foldout-update-mode-line): Rename from foldout-update-modeline.

* strokes.el (strokes-lighter): Rename from
strokes-modeline-string.

* subr.el (redraw-modeline): Make into obsolete alias.

* calendar/timeclock.el (timeclock-mode-line-display): Rename from
timeclock-modeline-display.  Make old name an alias.
(timeclock-update-mode-line): Likewise.  All callers changed.
(timeclock-mode-line-display): No need to check before using
add-hook.
(timeclock-relative, timeclock-day-over-hook)
(timeclock-use-elapsed, timeclock-mode-string)
(timeclock-mode-line-display): Doc fix, "modeline" -> "mode line".

* emulation/crisp.el (crisp-mode-mode-line-string): Rename from
crisp-mode-modeline-string.

* erc-track.el (erc-track, erc-track-faces-priority-list)
(erc-track-faces-normal-list, erc-track-find-face)
(erc-track-modified-channels): Fix modeline -> mode line in docs.

* eshell/esh-mode.el (eshell-status-in-mode-line): Rename from
eshell-status-in-modeline.

* org-clock.el (org-clock-string-limit)
(org-clock-modeline-total, org-clock-task-overrun-text)
(org-clock-mode-line-entry): Doc fix, "modeline" -> "mode line".

* play/solitaire.el (solitaire-build-mode-line): Rename from
solitaire-build-modeline.  All callers changed.

* play/zone.el (zone-hiding-mode-line): Rename from
zone-hiding-modeline.  All callers changed.
(zone): Remove unusued `modeline-hidden-level' property.

* progmodes/xscheme.el (xscheme-mode-line-initialize): Rename from
xscheme-modeline-initialize.  All callers changed.

* textmodes/sgml-mode.el (html-face-tag-alist)
(html-tag-face-alist): Use mode-line face instead of obsolete
alias modeline.

Fixes: debbugs:10329
2012-06-02 18:56:09 +08:00
Chong Yidong
fb7ada5f94 Remove * characters from the front of variable docstrings. 2012-04-09 21:05:48 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Glenn Morris
b026d240fc * lisp/progmodes/scheme.el (scheme-indent-function): Yet another doc typo. 2011-09-13 13:57:04 -04:00