From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
Subject: I seek QA for CPerl 5.2 (Emacs mode)
Date: Tue, 18 Oct 2005 01:45:00 +0000 (UTC) [thread overview]
Message-ID: <dj1k2s$1kq9$1@agate.berkeley.edu> (raw)
ilyaz.org/software/emacs
In my private classification, this release is pre-alpha. However, I
still hope to promote it to "golden" without any change ;-).
Since it is a very extensive edit, bugs are possible. Moreover, an
order of applying some heuristics changed (this is the principal
reason for the 3.5x..15x speedup I observed). In the cases I tried,
this edit speeds up things; however, it might be that in some other
cases it makes things slower.
Thus I would like to hear about *ALL* changes to the worse comparing
to 5.0, both in correctness of operation, and in speed. Your feedback
is very appreciated.
Changelog appended. Thanks,
Ilya
;;;; 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 <<HERE per line allowed.
;;;;;; b) Handles multiline subroutine declaration headers (with comments).
;;;;;; (The exception is `cperl-etags' - but it is not used in the rest
;;;;;; of the mode.)
;;;;;; c) Fontifies multiline my/our declarations (even with comments,
;;;;;; and with legacy `font-lock').
;;;;;; d) Major speedup of syntaxification, both immediate and postponed
;;;;;; (3.5x to 15x [for different CPUs and versions of Emacs] on the
;;;;;; huge real-life document I tested).
;;;;;; e) New bindings, edits to imenu.
;;;;;; f) "_" is made into word-char during fontification/syntaxification;
;;;;;; some attempts to recognize non-word "_" during other operations too.
;;;;;; g) Detect bug in Emacs with `looking-at' inside `narrow' and bulk out.
;;;;;; h) autoload some more perldoc-related stuff
;;;;;; i) Some new convenience features: ISpell POD/HEREDOCs, narrow-to-HEREDOC
;;;;;; j) Attempt to incorporate XEmacs edits which reached me
;;;; 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 RMS 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 <<EOP per line
;;; Allow subs with attributes
;;; Major speedups (3.5x..15x on a real-life
;;; test file nph-proxy.pl)
;;; Recognize "extproc " (OS/2)
;;; case-folded and only at start
;;; /x on s///x with empty replacement was
;;; not recognized
;;; Better comments
;;; `cperl-after-block-p': Remarks on diff with `cperl-block-p'
;;; Allow subs with attributes, labels
;;; Do not confuse "else::foo" with "else"
;;; Minor optimizations...
;;; `cperl-after-expr-p': Try to allow '_' be non-word char
;;; `cperl-fill-paragraph': Try to detect a major bug in Emacs
;;; with `looking-at' inside `narrow' and bulk out if found
;;; `cperl-imenu--create-perl-index': Updates for new
;;; `cperl-imenu--function-name-regexp-perl'
;;; `cperl-outline-level': Likewise
;;; `cperl-init-faces': Allow multiline subroutine headers
;;; and my/our declarations, and ones with comments
;;; Allow subroutine attributes
;;; `cperl-imenu-on-info': Better docstring.
;;; `cperl-etags' Rudimentary support for attributes
;;; Support for packages and "package;"
;;; `cperl-add-tags-recurse-noxs': Better (?) docstring
;;; `cperl-add-tags-recurse-noxs-fullpath': Likewise
;;; `cperl-tags-hier-init': Misprint for `fboundp' fixed
;;; `cperl-not-bad-style-regexp': Try to allow '_' be non-word char
;;; `cperl-perldoc': Add autoload
;;; `cperl-perldoc-at-point': Likewise
;;; `cperl-here-doc-spell': New function
;;; `cperl-pod-spell': Likewise
;;; `cperl-map-pods-heres': Likewise
;;; `cperl-get-here-doc-region': Likewise
;;; `cperl-font-lock-fontify-region-function': Likewise (backward compatibility
;;; for legacy `font-lock')
;;; `cperl-font-lock-unfontify-region-function': Fix style
;;; `cperl-fontify-syntaxically': Recognize and optimize away
;;; deferred calls with no-change. Governed by `cperl-hook-after-change'
;;; `cperl-fontify-update': Recognize that syntaxification region
;;; can be larger than fontification one.
;;; XXXX we leave `cperl-postpone' property, so this is quadratic...
;;; `cperl-fontify-update-bad': Temporary placeholder until
;;; it is clear how to implement `cperl-fontify-update'.
;;; `cperl-time-fontification': New function
;;; `attrib-group': New text attribute
;;; `multiline': New value: `syntax-type' text attribute
;;;; After 5.2:
;;; `cperl-emulate-lazy-lock': New function
;;; `cperl-fontify-syntaxically': Would skip large regions
;;; Add `cperl-time-fontification', `cperl-emulate-lazy-lock' to menu
;;; Some globals were declared, but uninitialized
next reply other threads:[~2005-10-18 1:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-18 1:45 Ilya Zakharevich [this message]
2005-10-18 20:11 ` I seek QA for CPerl 5.2 (Emacs mode) Randy W. Sims
2005-10-18 23:45 ` Ilya Zakharevich
2005-10-19 2:14 ` Randy W. Sims
2005-10-19 0:43 ` Bug in font-lock? Was: QA for CPerl 5.2 Ilya Zakharevich
2005-10-19 7:16 ` I seek QA for CPerl 5.2 (Emacs mode) Ilya Zakharevich
[not found] ` <200510190716.j9J7GWWf021292@powdermilk.math.berkeley.edu>
2005-10-19 19:52 ` Randy W. Sims
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='dj1k2s$1kq9$1@agate.berkeley.edu' \
--to=nospam-abuse@ilyaz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.