From 9968f10f12f4c4f0b2458719e9673a52d2e43de3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 11 Oct 2006 06:47:35 +0000 Subject: [PATCH] Merge from upstream, upto version 5.22. After 5.0: `cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode) Fine-grained changelog: `cperl-hook-after-change': New configuration variable `cperl-vc-sccs-header': Likewise. `cperl-vc-sccs-header': Likewise. `cperl-vc-header-alist': Default via two preceding variables `cperl-invalid-face': Remove double quoting under XEmacs (still needed under 21.2) `cperl-tips': Update URLs for resources `cperl-problems': Likewise. `cperl-praise': Mention new features New C-c key bindings: for `cperl-find-bad-style', `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', `cperl-perdoc', `cperl-perldoc-at-point' CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" moved, new submenu of Tools with Ispell entries and narrowing. `cperl-after-sub-regexp': New defsubst `cperl-imenu--function-name-regexp-perl': Use `cperl-after-sub-regexp', Allows heads up to head4 Allow "package;" `defun-prompt-regexp': Use `cperl-after-sub-regexp', `paren-backwards-message': ??? Something for XEmacs??? `cperl-mode': Never auto-switch abbrev-mode off Try to allow '_' be non-word char Do not use `font-lock-unfontify-region-function' on XEmacs Reset syntax cache on mode start Support multiline facification (even on legacy `font-lock') `cperl-facemenu-add-face-function': ??? Some contributed code ??? `cperl-after-change-function': Since `font-lock' and `lazy-lock' refuse to inform us whether the fontification is due to lazy calling or due to edit to a buffer, install our own hook (controlled by `cperl-hook-after-change') `cperl-electric-pod': =cut may have been recognized as start `cperl-block-p': Moved, updated for attributes `cperl-calculate-indent': Try to allow '_' be non-word char Support subs with attributes `cperl-where-am-i': Queit (?) a warning `cperl-cached-syntax-table' New function `cperl-forward-re': Use `cperl-cached-syntax-table' `cperl-unwind-to-safe': Recognize `syntax-type' property changing in a middle of line `cperl-find-sub-attrs': New function `cperl-find-pods-heres': Allow many < + + * progmodes/cperl-mode.el: Merge from upstream, upto version 5.22. + After 5.0: + `cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode) + + After 5.1: + ;; Major edit. Summary of most visible changes: + + ;; a) Multiple < + Copyright message updated. + `cperl-init-faces': Work around a bug in `font-lock'. May slow + facification down a bit. + Misprint for my|our|local for old `font-lock' + "our" was not fontified same as "my|local" + Highlight variables after "my" etc even in + a middle of an expression + Do not facify multiple variables after my etc + unless parentheses are present + + After 5.5, 5.6 + `cperl-fontify-syntaxically': after-change hook could reset + `cperl-syntax-done-to' to a middle of line; unwind to BOL. + + After 5.7: + `cperl-init-faces': Allow highlighting of local ($/) + `cperl-problems-old-emaxen': New variable (for the purpose of DOCSTRING). + `cperl-problems': Remove fixed problems. + `cperl-find-pods-heres': Recognize #-comments in m##x too + Recognize charclasses (unless delimiter is \). + `cperl-fontify-syntaxically': Unwinding to safe was done in wrong order + `cperl-regexp-scan': Update docs + `cperl-beautify-regexp-piece': use information got from regexp scan + + After 5.8: + Major user visible changes: + Recognition and fontification of character classes in RExen. + Variable indentation of RExen according to groups + + `cperl-find-pods-heres': Recognize POSIX classes in REx charclasses + Fontify REx charclasses in variable-name face + Fontify POSIX charclasses in "type" face + Fontify unmatched "]" in function-name face + Mark first-char of HERE-doc as `front-sticky' + Reset `front-sticky' property when needed + `cperl-calculate-indent': Indents //x -RExen accordning to parens level + `cperl-to-comment-or-eol': Recognize ends of `syntax-type' constructs + `cperl-backward-to-noncomment': Recognize stringy `syntax-type' constructs + Support `narrow'ed buffers. + `cperl-praise': Remove a reservation + `cperl-make-indent': New function + `cperl-indent-for-comment': Use `cperl-make-indent' + `cperl-indent-line': Likewise + `cperl-lineup': Likewise + `cperl-beautify-regexp-piece': Likewise + `cperl-contract-level': Likewise + `cperl-toggle-set-debug-unwind': New function + New menu entry for this + `fill-paragraph-function': Use when `boundp' + `cperl-calculate-indent': Take into account groups when indenting RExen + `cperl-to-comment-or-eol': Recognize # which end a string + `cperl-modify-syntax-type': Make only syntax-table property non-sticky + `cperl-fill-paragraph': Return t: needed for `fill-paragraph-function' + `cperl-fontify-syntaxically': More clear debugging message + `cperl-pod2man-build-command': XEmacs portability: check `Man-filter-list' + `cperl-init-faces': More complicated highlight even on XEmacs (new) + Merge cosmetic changes from XEmacs + + After 5.9: + `cperl-1+': Moved to before the first use + `cperl-1-': Likewise + + After 5.10: + + This code may lock Emacs hard!!! Use on your own risk! + + `cperl-font-locking': New internal variable + `cperl-beginning-of-property': New function + `cperl-calculate-indent': Use `cperl-beginning-of-property' + instead of `previous-single-property-change' + `cperl-unwind-to-safe': Likewise + `cperl-after-expr-p': Likewise + `cperl-get-here-doc-region': Likewise + `cperl-font-lock-fontify-region-function': Likewise + `cperl-to-comment-or-eol': Do not call `cperl-update-syntaxification' + recursively + Bound `next-single-property-change' + via `point-max' + `cperl-unwind-to-safe': Bound likewise + `cperl-font-lock-fontify-region-function': Likewise + `cperl-find-pods-heres': Mark as recursive for `cperl-to-comment-or-eol' + Initialization of + `cperl-font-lock-multiline-start' could be missed if the "main" + fontification did not run due to the keyword being already fontified. + `cperl-pod-spell': Return t from do-one-chunk function + `cperl-map-pods-heres': Stop when the worker returns nil + Call `cperl-update-syntaxification' + `cperl-get-here-doc-region': Call `cperl-update-syntaxification' + `cperl-get-here-doc-delim': Remove unused function + + After 5.11: + + The possible lockup of Emacs (introduced in 5.10) fixed + + `cperl-unwind-to-safe': `cperl-beginning-of-property' won't return nil + `cperl-syntaxify-for-menu': New customization variable + `cperl-select-this-pod-or-here-doc': New function + `cperl-get-here-doc-region': Extra argument + Do not adjust pos by 1 + + New menu entries (Perl/Tools): selection of current POD or HERE-DOC section + (Debugging CPerl:) backtrace on fontification + + After 5.12: + `cperl-cached-syntax-table': use `car-safe' + `cperl-forward-re': Remove spurious argument SET-ST + Add documentation + `cperl-forward-group-in-re': New function + `cperl-find-pods-heres': Find and highlight (?{}) blocks in RExen + (XXXX Temporary (?) hack is to syntax-mark them as comment) + + After 5.13: + `cperl-string-syntax-table': Make { and } not-grouping + (Sometimes they ARE grouping in RExen, but matching them would only + confuse in many situations when they are not) + `beginning-of-buffer': Replaced two occurences with goto-char... + `cperl-calculate-indent': `char-after' could be nil... + `cperl-find-pods-heres': REx can start after "[" too + Hightlight (??{}) in RExen too + `cperl-maybe-white-and-comment-rex': New constant + `cperl-white-and-comment-rex': Likewise + XXXX Not very efficient, but hard to make + better while keeping 1 group + + After 5.13: + `cperl-find-pods-heres': $foo << identifier() is not a HERE-DOC + Likewise for 1 << identifier + + After 5.14: + `cperl-find-pods-heres': Different logic for $foo .= < * dnd.el (dnd-handle-one-url): Fix typo in doc-string. -- 2.39.2