help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

I seek QA for CPerl 5.2 (Emacs mode)


From: Ilya Zakharevich
Subject: I seek QA for CPerl 5.2 (Emacs mode)
Date: Tue, 18 Oct 2005 01:45:00 +0000 (UTC)
User-agent: trn [how to get a version via %-escapes???] with a custom header

  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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]