🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.vm.bug
Article #8751

regexp slowness problem with emacs 19 + FIX

#8751
From: Bruce Cole
Date: Wed, 30 Jun 1993 07:11
57 lines
3506 bytes
With help from Jim Blandy <jimb@totoro.cs.oberlin.edu>, I've found
more regexps in VM 5.33 which seem to require massaging in order to
work well under emacs 19.  In particular, VM's use of
vm-generic-header-regexp was causing Emacs to perform very slow & CPU
intensive regexp searches which appeared to me to cause Emacs to hang.
The following changes based upon a regexp suggestion from Jim seem to
fix things:

*** vm-vars.el.old	Mon Jun 28 23:07:43 1993
--- vm-vars.el	Tue Jun 29 23:31:15 1993
***************
*** 717,738 ****
    (or (and (boundp 'rmail-spool-directory) rmail-spool-directory)
        "/usr/spool/mail/"))
  (defconst vm-attributes-header-regexp
!   "^X-VM-\\(Attributes\\|v5-Data\\):\\(.*\n\\([ \t]+.*\n\\)*\\)")
  (defconst vm-attributes-header "X-VM-v5-Data:")
  (defconst vm-message-order-header-regexp
!   "X-VM-Message-Order:\\(.*\n\\([ \t]+.*\n\\)*\\)")
  (defconst vm-message-order-header "X-VM-Message-Order:")
  (defconst vm-bookmark-header-regexp
!   "X-VM-Bookmark:\\(.*\n\\([ \t]+.*\n\\)*\\)")
  (defconst vm-bookmark-header "X-VM-Bookmark:")
  (defconst vm-vheader-header-regexp
!   "X-VM-VHeader:\\(.*\n\\([ \t]+.*\n\\)*\\)")
  (defconst vm-vheader-header "X-VM-VHeader:")
  (defconst vm-berkeley-mail-status-header "Status: ")
  (defconst vm-berkeley-mail-status-header-regexp "^Status: \\(..?\\)\n")
  (defconst vm-generic-header-regexp
!   "^\\([^: \t\n]+\\)[\t ]*:\\(.*\n\\([ \t]+.*\n\\)*\\)")
! (defconst vm-header-regexp-format "^%s:[ \t]*\\(.*\\(\n[ \t]+.*\\)*\\)")
  (defconst vm-supported-groupings-alist
    '(("physical-order") ("subject") ("author") ("date-sent") ("recipient")))
  (defconst vm-supported-window-configurations
--- 717,738 ----
    (or (and (boundp 'rmail-spool-directory) rmail-spool-directory)
        "/usr/spool/mail/"))
  (defconst vm-attributes-header-regexp
!   "^X-VM-\\(Attributes\\|v5-Data\\):\\(.*\n\\([ \t].*\n\\)*\\)")
  (defconst vm-attributes-header "X-VM-v5-Data:")
  (defconst vm-message-order-header-regexp
!   "X-VM-Message-Order:\\(.*\n\\([ \t].*\n\\)*\\)")
  (defconst vm-message-order-header "X-VM-Message-Order:")
  (defconst vm-bookmark-header-regexp
!   "X-VM-Bookmark:\\(.*\n\\([ \t].*\n\\)*\\)")
  (defconst vm-bookmark-header "X-VM-Bookmark:")
  (defconst vm-vheader-header-regexp
!   "X-VM-VHeader:\\(.*\n\\([ \t].*\n\\)*\\)")
  (defconst vm-vheader-header "X-VM-VHeader:")
  (defconst vm-berkeley-mail-status-header "Status: ")
  (defconst vm-berkeley-mail-status-header-regexp "^Status: \\(..?\\)\n")
  (defconst vm-generic-header-regexp
!   "^\\([^: \t\n]+\\)[\t ]*:\\(.*\n\\([ \t].*\n\\)*\\)")
! (defconst vm-header-regexp-format "^%s:[ \t]*\\(.*\\(\n[ \t].*\\)*\\)")
  (defconst vm-supported-groupings-alist
    '(("physical-order") ("subject") ("author") ("date-sent") ("recipient")))
  (defconst vm-supported-window-configurations
Technical Details
Message-ID: <199306300711.AA06147@regal.cisco.com>
Path: arc1-ca.pugleaf.net!gmd.de!xlink.net!news.dfn.de!darwin.sura.net!haven.umd.edu!uunet!wendy-fate.uu.net!bug-vm

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f6829,e45e468bb06a5fde,start
X-Google-Attributes: gidf6829,public
X-Google-ArrivalTime: 1993-06-30 00:16:11 PST
x-gateway: rodan.UU.NET from bug-vm to gnu.emacs.vm.bug; Wed, 30 Jun 1993 03:11:48 EDT
Date: Wed, 30 Jun 1993 00:11:25 -0700
From: bcole@cisco.com (Bruce Cole)
Message-ID: <199306300711.AA06147@regal.cisco.com>
Subject: regexp slowness problem with emacs 19 + FIX
Newsgroups: gnu.emacs.vm.bug
Path: arc1-ca.pugleaf.net!gmd.de!xlink.net!news.dfn.de!darwin.sura.net!haven.umd.edu!uunet!wendy-fate.uu.net!bug-vm
Sender: bug-vm-request@uunet.uu.net
Lines: 57