Mercurial > emacs
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) |