comparison lisp/progmodes/antlr-mode.el @ 91073:4bc33ffdda1a

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 902-908) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 131-137) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 261-262) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-278
author Miles Bader <miles@gnu.org>
date Sat, 27 Oct 2007 09:12:07 +0000
parents 424b655804ca f873840f9fea
children 53108e6cea98
comparison
equal deleted inserted replaced
91072:74ab3ea909f9 91073:4bc33ffdda1a
97 (defun cond-emacs-xemacs-macfn (args &optional msg) 97 (defun cond-emacs-xemacs-macfn (args &optional msg)
98 (if (atom args) args 98 (if (atom args) args
99 (and (eq (car args) :@) (null msg) ; (:@ ...spliced...) 99 (and (eq (car args) :@) (null msg) ; (:@ ...spliced...)
100 (setq args (cdr args) 100 (setq args (cdr args)
101 msg "(:@ ....) must return exactly one element")) 101 msg "(:@ ....) must return exactly one element"))
102 (let ((ignore (if (string-match "XEmacs" emacs-version) :EMACS :XEMACS)) 102 (let ((ignore (if (featurep 'xemacs) :EMACS :XEMACS))
103 (mode :BOTH) code) 103 (mode :BOTH) code)
104 (while (consp args) 104 (while (consp args)
105 (if (memq (car args) '(:EMACS :XEMACS :BOTH)) (setq mode (pop args))) 105 (if (memq (car args) '(:EMACS :XEMACS :BOTH)) (setq mode (pop args)))
106 (if (atom args) 106 (if (atom args)
107 (or args (error "Used selector %s without elements" mode)) 107 (or args (error "Used selector %s without elements" mode))
113 (t (nconc (nreverse code) args)))))) 113 (t (nconc (nreverse code) args))))))
114 ;; Emacs/XEmacs-compatibility `defun': remove interactive "_" for Emacs, use 114 ;; Emacs/XEmacs-compatibility `defun': remove interactive "_" for Emacs, use
115 ;; existing functions when they are `fboundp', provide shortcuts if they are 115 ;; existing functions when they are `fboundp', provide shortcuts if they are
116 ;; known to be defined in a specific Emacs branch (for short .elc) 116 ;; known to be defined in a specific Emacs branch (for short .elc)
117 (defmacro defunx (name arglist &rest definition) 117 (defmacro defunx (name arglist &rest definition)
118 (let ((xemacsp (string-match "XEmacs" emacs-version)) reuses) 118 (let ((xemacsp (featurep 'xemacs)) reuses)
119 (while (memq (car definition) 119 (while (memq (car definition)
120 '(:try :emacs-and-try :xemacs-and-try)) 120 '(:try :emacs-and-try :xemacs-and-try))
121 (if (eq (pop definition) (if xemacsp :xemacs-and-try :emacs-and-try)) 121 (if (eq (pop definition) (if xemacsp :xemacs-and-try :emacs-and-try))
122 (setq reuses (car definition) 122 (setq reuses (car definition)
123 definition nil) 123 definition nil)
150 ,@(cond-emacs-xemacs-macfn definition)) 150 ,@(cond-emacs-xemacs-macfn definition))
151 'ignore)))))))))) 151 'ignore))))))))))
152 (defmacro ignore-errors-x (&rest body) 152 (defmacro ignore-errors-x (&rest body)
153 (let ((specials '((scan-sexps . 4) (scan-lists . 5))) 153 (let ((specials '((scan-sexps . 4) (scan-lists . 5)))
154 spec nils) 154 spec nils)
155 (if (and (string-match "XEmacs" emacs-version) 155 (if (and (featurep 'xemacs)
156 (null (cdr body)) (consp (car body)) 156 (null (cdr body)) (consp (car body))
157 (setq spec (assq (caar body) specials)) 157 (setq spec (assq (caar body) specials))
158 (>= (setq nils (- (cdr spec) (length (car body)))) 0)) 158 (>= (setq nils (- (cdr spec) (length (car body)))) 0))
159 `(,@(car body) ,@(make-list nils nil) t) 159 `(,@(car body) ,@(make-list nils nil) t)
160 `(ignore-errors ,@body))))) 160 `(ignore-errors ,@body)))))
164 (defmacro save-buffer-state-x (&rest body) ; similar to EMACS/lazy-lock.el 164 (defmacro save-buffer-state-x (&rest body) ; similar to EMACS/lazy-lock.el
165 (let ((modified (with-no-warnings (gensym "save-buffer-state-x-modified-")))) 165 (let ((modified (with-no-warnings (gensym "save-buffer-state-x-modified-"))))
166 `(let ((,modified (buffer-modified-p))) 166 `(let ((,modified (buffer-modified-p)))
167 (unwind-protect 167 (unwind-protect
168 (let ((buffer-undo-list t) (inhibit-read-only t) 168 (let ((buffer-undo-list t) (inhibit-read-only t)
169 ,@(unless (string-match "XEmacs" emacs-version) 169 ,@(unless (featurep 'xemacs)
170 '((inhibit-point-motion-hooks t) deactivate-mark)) 170 '((inhibit-point-motion-hooks t) deactivate-mark))
171 before-change-functions after-change-functions 171 before-change-functions after-change-functions
172 buffer-file-name buffer-file-truename) 172 buffer-file-name buffer-file-truename)
173 ,@body) 173 ,@body)
174 (and (not ,modified) (buffer-modified-p) 174 (and (not ,modified) (buffer-modified-p)