1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 01:41:01 -08:00
emacs/lisp
Harald Jörg a7ff8a76a5 cperl-mode.el: Support subroutine signatures
Since Perl 5.20, subroutine signatures were available as an
experimental feature.  With Perl 5.38, they will be always enabled in
the new object system.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64190.pl:
* test/lisp/progmodes/cperl-mode-resources/cperl-bug-64364.pl: New
test resources.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): Add tests for
signatures.
(cperl-test-attribute-rx, cperl-test-attribute-list-rx)
(cperl-test-prototype-rx, cperl-test-signature-rx): Tests for the
new rx sequences.
(cperl-test-bug-64190): New test for multiline declarations.
(cperl-test-bug-64364): New test for indentation of declarations.

* lisp/progmodes/cperl-mode.el:
(toplevel): New rx sequences to match Perl variables and attributes.
(cperl-declaration-header-p): New function to identify declarations.
(cperl-block-declaration-p): Use the new function.
(cperl-mode): Use the rx sequences.
(cperl-get-state): Use the new function.
(cperl-sniff-for-indent): Use the new function.
(cperl-find-sub-attrs): Improve fontification of subroutine
prototypes and attributes while typing when jit-lock-mode is
active.  Detect signatures, and distinguish them from prototypes.
(cperl-find-pods-heres): Use the rx sequences to detect subroutines.
(cperl-init-faces): Use the rx sequences for fontification.
2023-06-30 23:41:06 +02:00
..
calc Use delq return value (bug#61730) 2023-05-20 11:05:57 +02:00
calendar Merge from origin/emacs-29 2023-06-03 05:50:58 -04:00
cedet Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
emacs-lisp * lisp/emacs-lisp/cl-macs.el (cl--slet): Fix bug#64315 2023-06-28 09:24:30 -04:00
emulation Use t for non-nil default values in boolean defcustom declarations 2023-04-28 15:03:47 +02:00
erc Avoid "shadows" warning from erc-button--nick slots 2023-06-25 16:27:58 -07:00
eshell eshell-next-prompt: More precisely navigate to the prompt (bug#63748) 2023-06-15 09:40:12 -07:00
gnus Use a temporary buffer in nnagent-request-set-mark (bug#64117) 2023-06-29 17:05:33 +08:00
image Merge from origin/emacs-29 2023-04-15 12:43:37 -04:00
international Merge from origin/emacs-29 2023-05-26 07:03:07 -04:00
language Followup to addition of TUTORIAL.fa 2023-04-25 12:26:20 +03:00
leim/quail latin-ltx.el: Add \Phi; fix bug#64212 2023-06-22 13:11:03 -04:00
mail Merge from origin/emacs-29 2023-06-10 06:42:43 -04:00
mh-e Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
net Adapt Tramp's kubernetes integration 2023-06-28 16:53:01 +02:00
nxml * lisp/subr.el (with-restriction): Tweak indent rule 2023-06-12 22:43:44 -04:00
obsolete Fix regexp bugs 2023-05-13 17:41:40 +02:00
org Fix orgtbl-to-table.el function to include last cell border 2023-06-22 17:38:56 +02:00
play
progmodes cperl-mode.el: Support subroutine signatures 2023-06-30 23:41:06 +02:00
term ; Fix byte-compilation warnings in --without-x build 2023-05-11 16:25:46 +03:00
textmodes Call them “bracket expressions” more consistently 2023-06-19 11:09:00 -07:00
url Don't use mapconcat for effect 2023-04-10 15:20:27 +02:00
use-package Fix use-package :vc keyword when byte-compiled 2023-06-03 10:27:46 +03:00
vc Merge from origin/emacs-29 2023-06-24 07:13:42 -04:00
abbrev.el Merge from origin/emacs-29 2023-03-20 06:30:32 +01:00
align.el ; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode. 2023-01-07 18:44:16 -08:00
allout-widgets.el Use return values of assq-delete-all and assoc-delete-all 2023-05-24 11:30:53 +02:00
allout.el Fix apparently wrong delete and delq value discards (bug#61730) 2023-05-24 23:01:10 +02:00
ansi-color.el
ansi-osc.el
apropos.el Merge from origin/emacs-29 2023-06-17 05:02:55 -04:00
arc-mode.el Handle modifications in extensionless zip files (bug#61326) 2023-04-20 12:26:05 +03:00
array.el
auth-source-pass.el
auth-source.el
autoinsert.el
autorevert.el
avoid.el
battery.el
bindings.el Merge from origin/emacs-29 2023-02-03 06:30:24 +01:00
bookmark.el
bs.el Use delete-char instead of backward-delete-char 2023-02-22 12:55:45 +01:00
buff-menu.el
button.el
calculator.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
case-table.el
cdl.el
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
char-fold.el Improve 'describe-char-fold-equivalences' docstring 2023-01-10 17:23:57 +01:00
chistory.el
cmuscheme.el
color.el
comint.el Support setting PAGER=cat in comint.el (bug#62958) 2023-05-26 14:29:52 +03:00
completion.el
composite.el Merge from origin/emacs-29 2023-06-03 05:50:58 -04:00
COPYING
cus-dep.el
cus-edit.el
cus-face.el
cus-start.el Add `yes-or-no-prompt' user option 2023-01-23 09:17:15 +01:00
cus-theme.el Rename the newly added -ref- faces to -use- 2023-02-28 04:08:55 +02:00
custom.el Merge from origin/emacs-29 2023-04-03 00:33:03 +01:00
dabbrev.el
delim-col.el
delsel.el
descr-text.el
desktop.el
dframe.el
dired-aux.el Fix async invocations in Dired with 'fish' shell 2023-05-20 17:26:52 +03:00
dired-x.el Add new SI prefixes R, Q in other places 2023-01-06 10:49:02 -08:00
dired.el Fix dired-insert-directory wrt remote directories 2023-06-27 12:46:49 +02:00
dirtrack.el
disp-table.el
display-fill-column-indicator.el Explain effect of variable-pitch fonts on fill-column 2023-02-22 15:16:25 +02:00
display-line-numbers.el ; Fix typos 2023-02-03 18:03:18 +01:00
dnd.el Improve dnd-direct-save-remote-files docstring 2023-02-21 16:55:21 +01:00
doc-view.el Use a face for DocView SVG 2023-03-09 12:04:52 +02:00
dom.el
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el ; Fix byte-compilation warnings in --without-x build 2023-05-11 16:25:46 +03:00
ebuff-menu.el
echistory.el
ecomplete.el
edmacro.el Avoid using rx any for not-newline 2023-05-30 17:44:53 +02:00
ehelp.el
elec-pair.el Fix problems resulting from modification of the undo list 2023-06-06 21:00:44 +08:00
electric.el Eglot: rework eglot-imenu 2023-04-07 12:57:59 +01:00
elide-head.el
emacs-lock.el
env.el Add more function declarations 2023-05-26 13:57:02 +02:00
epa-dired.el
epa-file.el
epa-hook.el
epa-ks.el Fix import of keys in buffer created by epa-search-keys 2023-03-13 20:37:53 +03:00
epa-mail.el
epa.el
epg-config.el
epg.el
expand.el
external-completion.el
ezimage.el
face-remap.el
facemenu.el
faces.el Make mode-line behavior better with grayscale visuals 2023-04-28 14:43:31 +08:00
ffap.el
filecache.el Use t for non-nil default values in boolean defcustom declarations 2023-04-28 15:03:47 +02:00
fileloop.el
filenotify.el
files-x.el Fix connection-local user options handling (bug#63300) 2023-06-08 09:59:06 +02:00
files.el Handle case-insensitivity for safe-local-variable-directories. 2023-05-12 13:47:22 +03:00
filesets.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
find-cmd.el
find-dired.el ; * lisp/find-dired.el (find-gnu-find-p): Doc fix. 2023-03-18 08:32:20 +02:00
find-file.el Fix ff-quiet-mode doc 2023-04-10 13:49:32 +01:00
find-lisp.el
finder.el
flow-ctrl.el
foldout.el Eliminate some mutation of program constants 2023-05-17 11:00:25 +02:00
follow.el
font-core.el
font-lock.el Rename the newly added -ref- faces to -use- 2023-02-28 04:08:55 +02:00
format-spec.el
format.el
forms.el
frame.el * lisp/frame.el (handle-move-frame): Fix corner case error 2023-03-19 14:51:27 -04:00
frameset.el
fringe.el
generic-x.el
help-at-pt.el
help-fns.el ; * lisp/emacs-lisp/comp.el (comp-funciton-type-spec): typo 2023-06-04 14:09:39 +02:00
help-macro.el
help-mode.el
help.el ; * lisp/help.el (describe-bindings-outline-rules): Fix :type tags. 2023-04-26 19:25:23 +03:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el Fix some uses of 'use-dialog-box' 2023-02-18 10:58:00 +02:00
hilit-chg.el
hippie-exp.el
hl-line.el
htmlfontify.el Fix quoting of font-family in 'hfy-family' 2023-03-16 09:41:56 +02:00
ibuf-ext.el Improve ibuffer-diff-with-file 2023-04-08 11:51:43 +01:00
ibuf-macs.el
ibuffer.el
icomplete.el Fido-mode: never shadow 'external' completion style 2023-05-09 09:42:10 +01:00
ido.el Describe the effect of 'guess' for 'ido-use-filename-at-point' 2023-02-15 16:24:19 +01:00
ielm.el
iimage.el * lisp/iimage.el (iimage-mode-buffer): Handle multiple regexps. 2023-02-08 20:56:48 +02:00
image-file.el
image-mode.el
image.el Merge from origin/emacs-29 2023-04-15 13:02:04 -04:00
imenu.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
indent.el
info-look.el Fix infloop in info-look.el 2023-05-31 17:50:53 +03:00
info-xref.el
info.el
informat.el
isearch.el Clarify misleading comment in isearch.el 2023-05-18 13:43:12 +03:00
isearchb.el
jit-lock.el
jka-cmpr-hook.el
jka-compr.el
json.el
jsonrpc.el Merge from origin/emacs-29 2023-04-15 12:43:37 -04:00
kermit.el
keymap.el Improve defvar-keymap docstring. 2023-03-20 09:47:32 +01:00
kmacro.el Extend handling of prefix arg in some kmacro.el commands 2023-06-21 16:58:32 +03:00
ldefs-boot.el * lisp/ldefs-boot.el: Regenerate. 2023-06-18 07:14:46 -04:00
loadhist.el
loadup.el * lisp/loadup.el: Don't accidentally reduce max-lisp-eval-depth 2023-05-24 09:47:27 -04:00
locate.el
lpr.el Use t for non-nil default values in boolean defcustom declarations 2023-04-28 15:03:47 +02:00
ls-lisp.el Use t for non-nil default values in boolean defcustom declarations 2023-04-28 15:03:47 +02:00
macros.el kmacro: Simplify register code and recent change 2023-02-24 14:18:24 -05:00
Makefile.in Merge from origin/emacs-29 2023-06-24 07:13:42 -04:00
man.el Fix bootstrap failure 2023-03-02 20:45:02 +08:00
master.el
mb-depth.el
md4.el
menu-bar.el ; Fix last change. 2023-05-25 08:58:42 +03:00
midnight.el
minibuf-eldef.el
minibuffer.el Merge from origin/emacs-29 2023-06-24 07:13:42 -04:00
misc.el * lisp/misc.el (duplicate-line-final-position): New defcustom (bug#64185). 2023-06-29 10:13:09 +03:00
misearch.el
mouse-copy.el
mouse-drag.el
mouse.el Merge from origin/emacs-29 2023-04-15 12:43:37 -04:00
mpc.el * lisp/mpc.el (mpc-format): Fix oversight in commit 48b6cec61c 2023-03-19 16:02:52 -04:00
msb.el
mwheel.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
newcomment.el Fix documentation of comment-dwim (bug#64104) 2023-06-17 11:37:19 +03:00
notifications.el
novice.el ; * lisp/novice.el (disabled-command-function): Add note in a comment. 2023-03-12 22:22:41 +02:00
obarray.el
outline.el Improve outline-default-state docstring 2023-04-26 12:31:00 +02:00
paren.el Make sure 'M-x show-paren-local-mode' turns on right away 2023-02-05 21:08:45 +02:00
password-cache.el
pcmpl-cvs.el
pcmpl-git.el
pcmpl-gnu.el Fix Pcompletion of "tar" when using unrecognized arguments 2023-03-08 13:36:09 -08:00
pcmpl-linux.el Fix systemd unit completion for old versions of systemd 2023-05-20 18:01:02 +03:00
pcmpl-rpm.el
pcmpl-unix.el
pcmpl-x.el
pcomplete.el Add support for completing quoted variables in Eshell like $'FOO' 2023-02-23 14:09:36 -08:00
pgtk-dnd.el
pixel-scroll.el Support 'isearch-allow-scroll' in 'pixel-scroll-precision-mode' 2023-05-22 14:20:38 +03:00
plstore.el Brush up doc strings and terminology in plstore.el 2023-05-31 15:53:35 +03:00
printing.el
proced.el ; * lisp/proced.el (proced--determine-pos): Fix doc string wording. 2023-01-14 10:40:15 +02:00
profiler.el
ps-bdf.el
ps-mule.el
ps-print.el
ps-samp.el
README
recentf.el
rect.el
register.el
registry.el
repeat.el * lisp/repeat.el: Rename internal function and variable (bug#60980) 2023-02-13 19:46:22 +02:00
replace.el ; Fix minor documentation issue ion replace.el 2023-05-10 16:01:28 +03:00
reposition.el
reveal.el * lisp/reveal.el (reveal-open-new-overlays): Use invisible-p 2023-01-13 17:52:23 -05:00
rfn-eshadow.el
rot13.el
rtree.el
ruler-mode.el
savehist.el * lisp/savehist.el (savehist-save): Preserve shared structure 2023-03-25 15:12:30 +03:00
saveplace.el Restore positions reliably for abbreviated file names in saveplace.el 2023-04-06 13:25:54 +03:00
scroll-all.el
scroll-bar.el
scroll-lock.el
select.el Fix inserting selection data into Mozilla programs 2023-05-03 20:02:01 +08:00
server.el Fix emacsclient when there are irrecoverable file-visiting errors 2023-05-26 13:20:56 +03:00
ses.el
shadowfile.el
shell.el Allow old input to include continuation lines in shell-mode 2023-03-31 15:08:22 +02:00
simple.el Merge from origin/emacs-29 2023-06-17 05:02:55 -04:00
skeleton.el
so-long.el
sort.el
soundex.el
speedbar.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
sqlite-mode.el Improve error message from sqlite-mode.el 2023-01-15 12:06:54 +02:00
sqlite.el
startup.el startup.el: Don't override init.el custom of debug-ignored-errors 2023-06-26 11:25:14 -04:00
strokes.el Remove useless unwind-protect forms, or make them useful as intended 2023-04-07 19:08:33 +02:00
subr.el Merge from origin/emacs-29 2023-06-17 05:02:55 -04:00
svg.el
t-mouse.el
tab-bar.el Merge from origin/emacs-29 2023-05-26 07:03:07 -04:00
tab-line.el
tabify.el
talk.el
tar-mode.el
tempo.el
term.el Make C-SPC work in "M-x term" 2023-06-18 09:33:19 +03:00
thingatpt.el Improve thing-at-point email detection 2023-03-10 11:22:54 +01:00
thread.el
time-stamp.el
time.el Rename 'display-time-time-and-date-indicator' to 'display-time-date-and-time' (bug#61567) 2023-02-18 09:36:18 +02:00
timezone.el
tmm.el * lisp/tmm.el (tmm-completion-delete-prompt): Add more checks (bug#63754). 2023-05-29 20:34:53 +03:00
tool-bar.el
tooltip.el
transient.el * lisp/transient.el (transient--wrap-command): Use letrec and a closure 2023-06-12 13:25:31 -04:00
tree-widget.el
treesit.el Use OUT-DIR in treesit-install-language-grammar (bug#64295) 2023-06-29 11:28:18 -07:00
tutorial.el Fix exiting Emacs after saving a tutorial 2023-04-22 13:35:36 +03:00
type-break.el
uniquify.el
userlock.el Display unlock-file warning only when file locks are enabled 2023-04-04 09:43:09 +02:00
vcursor.el
version.el
view.el
w32-fns.el * lisp/w32-fns.el (w32--os-description): Fix minor logic error 2023-05-14 13:23:34 +02:00
w32-vars.el
wdired.el A better fix for "Fix cancellation of Wdired" 2023-05-28 09:37:51 +03:00
whitespace.el
wid-browse.el
wid-edit.el Apply quote substitution to popup choice menus 2023-06-24 10:45:10 +02:00
widget.el
windmove.el * lisp/windmove.el (windmove-swap-states-in-direction): Don't swap minibuffer. 2023-05-16 20:32:34 +03:00
window.el Merge from origin/emacs-29 2023-06-17 05:02:55 -04:00
winner.el
woman.el Fix interactive forms in some Lisp packages 2023-05-06 11:29:58 +03:00
x-dnd.el ; Fix byte-compilation warnings in --without-x build 2023-05-11 16:25:46 +03:00
xdg.el
xml.el xml.el: remove incorrect and botched attribute whitespace collapse 2023-05-30 17:46:06 +02:00
xt-mouse.el Fix xt-mouse on terminals that report UTF-8 encoded coordinates 2023-01-26 10:54:43 +02:00
xwidget.el Improvements to xwidget on macOS (bug#60703) 2023-03-02 12:53:35 +02:00
yank-media.el

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.