GNU bug report logs -
#14458
24.3; specman-mode_v1.22.el not compatible with emacs 24.x
Previous Next
Reported by: Frederic Pouyet <pouyet <at> cadence.com>
Date: Fri, 24 May 2013 07:37:02 UTC
Severity: wishlist
Merged with 14490
Found in version 24.3
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14458 in the body.
You can then email your comments to 14458 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14458
; Package
emacs
.
(Fri, 24 May 2013 07:37:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Frederic Pouyet <pouyet <at> cadence.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 24 May 2013 07:37:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello Emacs support team.
I am working for an EDA company called Cadence that license a software called specman. Its associated language is called "e".
Until emacs 24.x, we were able to have syntax highlighting thanks to specman-mode.el (latest version is v1.22 see below) available on website http://specman-mode.com which is no longer maintained.
Although it does not crash or give an error, the specman-mode.el does not work functionally: it does not perform
highlighting syntax any longer. This was working on emacs versions prior to 24.x.
Please advise,
I attach specman-mode.el version 1.22
Best regards,
Fred
[cid:image002.jpg <at> 01CE5861.C60EE520]
Frederic Pouyet | Principal Application engineer. System Design and Verification
P: 46.856612318 M: 46.730605655 www.cadence.com<http://www.cadence.com>
[Message part 2 (text/html, inline)]
[image001.gif (image/gif, inline)]
[image002.jpg (image/jpeg, inline)]
[specman-modev122.el (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14458
; Package
emacs
.
(Fri, 24 May 2013 19:56:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 14458 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
As a general rule, we at bug-gnu-emacs don't support third-party libraries.
The code looks pretty crufty, but the attached minimal patch might get
it working again for you.
If you have any further problems with it, someone on the
help-gnu-emacs <at> gnu.org list might be willing to help.
[specman.diff (text/x-diff, inline)]
*** specman-modev122.el.ORIG 2013-05-24 11:03:30.988169064 -0700
--- specman-modev122.el 2013-05-24 11:18:26.382601795 -0700
***************
*** 65,70 ****
--- 65,72 ----
;; specman-mode is a major mode for editing code written in the 'e' language
;;
+ (require 'cl)
+
(defconst specman-mode-version "$$Revision: 1.22 $$"
"Version of this Specman mode.")
***************
*** 137,154 ****
(defmacro customize (&rest args)
(message "Sorry, Customize is not available with this version of emacs"))
(defmacro defcustom (var value doc &rest args)
! (` (defvar (, var) (, value) (, doc))))
)
(if (fboundp 'defface)
nil ;; great!
(defmacro defface (var value doc &rest args)
! (` (make-face (, var))))
)
(if (and (featurep 'custom) (fboundp 'customize-group))
nil ;; We've got what we needed
;; We have an intermediate custom-library, hack around it!
(defmacro customize-group (var &rest args)
! (`(customize (, var) )))
)
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
--- 139,156 ----
(defmacro customize (&rest args)
(message "Sorry, Customize is not available with this version of emacs"))
(defmacro defcustom (var value doc &rest args)
! `(defvar ,var ,value , doc))
)
(if (fboundp 'defface)
nil ;; great!
(defmacro defface (var value doc &rest args)
! `(make-face ,var))
)
(if (and (featurep 'custom) (fboundp 'customize-group))
nil ;; We've got what we needed
;; We have an intermediate custom-library, hack around it!
(defmacro customize-group (var &rest args)
! `(customize ,var) )
)
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
***************
*** 157,170 ****
(defmacro customize (&rest args)
(message "Sorry, Customize is not available with this version of emacs"))
(defmacro defcustom (var value doc &rest args)
! (` (defvar (, var) (, value) (, doc))))
)
(if (and (featurep 'custom) (fboundp 'customize-group))
nil ;; We've got what we needed
;; We have an intermediate custom-library, hack around it!
(defmacro customize-group (var &rest args)
! (`(customize (, var) )))
)
(condition-case nil
(require 'easymenu)
--- 159,172 ----
(defmacro customize (&rest args)
(message "Sorry, Customize is not available with this version of emacs"))
(defmacro defcustom (var value doc &rest args)
! `(defvar ,var ,value ,doc))
)
(if (and (featurep 'custom) (fboundp 'customize-group))
nil ;; We've got what we needed
;; We have an intermediate custom-library, hack around it!
(defmacro customize-group (var &rest args)
! `(customize ,var))
)
(condition-case nil
(require 'easymenu)
***************
*** 407,419 ****
"cover[ \t\n]+\\([A-Za-z0-9_]+\\)[ \t\n]+is"
"Regexp that identifies cover definitions (arg 1)")
(defconst specman-symbol-begin-regexp
"\\<"
"Regexp that identifies the beginning of a symbol")
(defconst specman-symbol-end-regexp
"\\>"
! "Regexp that identifies the end of a symbol")
(defconst specman-number-regexp
(concat
--- 409,422 ----
"cover[ \t\n]+\\([A-Za-z0-9_]+\\)[ \t\n]+is"
"Regexp that identifies cover definitions (arg 1)")
+ (eval-and-compile
(defconst specman-symbol-begin-regexp
"\\<"
"Regexp that identifies the beginning of a symbol")
(defconst specman-symbol-end-regexp
"\\>"
! "Regexp that identifies the end of a symbol"))
(defconst specman-number-regexp
(concat
***************
*** 748,754 ****
:paren-parent nil))
scope-index)
! (when (re-search-forward "^<'" buffer-end nil)
(while (and (< (point) buffer-end)
(re-search-forward search-regexp buffer-end 'move))
--- 751,757 ----
:paren-parent nil))
scope-index)
! (when (re-search-forward "^<'" buffer-end t)
(while (and (< (point) buffer-end)
(re-search-forward search-regexp buffer-end 'move))
***************
*** 3135,3141 ****
;;; Hacks for FSF
(require 'font-lock)
! (defvar specman-need-fld 1)
(defvar font-lock-defaults-alist nil) ;In case we are XEmacs
(if specman-need-fld
(let ((specman-mode-defaults
--- 3138,3144 ----
;;; Hacks for FSF
(require 'font-lock)
! (defvar specman-need-fld nil)
(defvar font-lock-defaults-alist nil) ;In case we are XEmacs
(if specman-need-fld
(let ((specman-mode-defaults
***************
*** 3205,3210 ****
--- 3208,3216 ----
(make-local-variable 'indent-line-function)
(setq indent-line-function 'specman-indent-line)
+ (set (make-local-variable 'font-lock-defaults)
+ (get 'specman-mode 'font-lock-defaults))
+
(make-local-variable 'comment-start)
(make-local-variable 'comment-end)
(make-local-variable 'block-comment-start)
***************
*** 3448,3454 ****
(goto-char lim)
(if (equal (point) ;; enter the scope
(point-min))
! (re-search-forward "^<'")
(forward-char 1))
(specman-forward-ws)
(forward-to-indentation 0)
--- 3454,3460 ----
(goto-char lim)
(if (equal (point) ;; enter the scope
(point-min))
! (re-search-forward "^<'" nil t)
(forward-char 1))
(specman-forward-ws)
(forward-to-indentation 0)
***************
*** 5371,5377 ****
;; =============================================================================
;; Require package filladapt
! (require 'filladapt)
(add-hook 'specman-mode-hook
'(lambda () (auto-fill-mode 1)))
--- 5377,5383 ----
;; =============================================================================
;; Require package filladapt
! (when (require 'filladapt nil t)
(add-hook 'specman-mode-hook
'(lambda () (auto-fill-mode 1)))
***************
*** 5384,5390 ****
; C++ style comments are already recognized.
(setcar filladapt-token-table '("---*" e-comment))
(setcar filladapt-token-match-table '(e-comment e-comment))
! (setcar filladapt-token-conversion-table '(e-comment . exact))
--- 5390,5396 ----
; C++ style comments are already recognized.
(setcar filladapt-token-table '("---*" e-comment))
(setcar filladapt-token-match-table '(e-comment e-comment))
! (setcar filladapt-token-conversion-table '(e-comment . exact)))
bug closed, send any further explanations to
14458 <at> debbugs.gnu.org and Frederic Pouyet <pouyet <at> cadence.com>
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Fri, 24 May 2013 19:56:05 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#14458
; Package
emacs
.
(Sat, 25 May 2013 05:25:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 14458 <at> debbugs.gnu.org (full text, mbox):
Thanks a lot Glenn !
I can see the highlighting syntax now with emacs 24.3.1.
Feel free to close the case. I would reopen it or create a new case if users would encounter stability issues.
Best regards,
Fred
-----Original Message-----
From: Glenn Morris [mailto:rgm <at> gnu.org]
Sent: Friday, May 24, 2013 9:54 PM
To: Frederic Pouyet
Cc: 14458 <at> debbugs.gnu.org; Avi Farjoun; Patrick Oury; Mahesh Soni; Orit Greengrass
Subject: Re: bug#14458: 24.3; specman-mode_v1.22.el not compatible with emacs 24.x
As a general rule, we at bug-gnu-emacs don't support third-party libraries.
The code looks pretty crufty, but the attached minimal patch might get it working again for you.
If you have any further problems with it, someone on the help-gnu-emacs <at> gnu.org list might be willing to help.
Forcibly Merged 14458 14490.
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 28 May 2013 17:20:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 26 Jun 2013 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 46 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.