2 new commits in cc-mode:
https://bitbucket.org/xemacs/cc-mode/changeset/dac1c784ef66/
changeset: dac1c784ef66
user: acm
date: 2012-03-12 22:28:36
summary: Make c-mark-defun extend region when repeated and leave a mark.
affected #: 1 file
diff -r 72c17e2c12a5cd58f7e46f3d8a8a322d840ac564 -r
dac1c784ef66a4cbddc0d882bb88d7d68904be2f cc-cmds.el
--- a/cc-cmds.el
+++ b/cc-cmds.el
@@ -1950,10 +1950,17 @@
(defun c-mark-function ()
"Put mark at end of the current top-level declaration or macro, point at
beginning.
-If point is not inside any then the closest following one is chosen.
+If point is not inside any then the closest following one is
+chosen. Each successive call of this command extends the marked
+region by one function.
+
+A mark is left where the command started.
As opposed to \\[c-beginning-of-defun] and \\[c-end-of-defun], this
function does not require the declaration to contain a brace block."
+ ;; Middle sentence of doc-string was: A mark is left where the command
+ ;; started, unless the region is already active \(in Transient Mark mode).
+ ;; FIXME!!! for transient-mark/zemacs sometime. (2012-03-08.)
(interactive)
(let (decl-limits)
@@ -1966,8 +1973,26 @@
(if (not decl-limits)
(error "Cannot find any declaration")
- (goto-char (car decl-limits))
- (push-mark (cdr decl-limits) nil t))))
+ (let* ((extend-region-p
+ (and (eq this-command 'c-mark-function)
+ (eq last-command 'c-mark-function)))
+ (push-mark-p (and (eq this-command 'c-mark-function)
+ (not extend-region-p)
+ ;; (not (and transient-mark-mode mark-active))
+ ;; FIXME!!!, sometime (2012-03-08.)
+ )))
+ (if push-mark-p (push-mark (point)))
+ (if extend-region-p
+ (progn
+ (exchange-point-and-mark)
+ (setq decl-limits (c-declaration-limits t))
+ (when (not decl-limits)
+ (exchange-point-and-mark)
+ (error "Cannot find any declaration"))
+ (goto-char (cdr decl-limits))
+ (exchange-point-and-mark))
+ (goto-char (car decl-limits))
+ (push-mark (cdr decl-limits) nil t))))))
(defun c-cpp-define-name ()
"Return the name of the current CPP macro, or NIL if we're not in one."
https://bitbucket.org/xemacs/cc-mode/changeset/e8d870ec5a3a/
changeset: e8d870ec5a3a
user: acm
date: 2012-03-12 22:31:25
summary: merge.
affected #: 3 files
diff -r dac1c784ef66a4cbddc0d882bb88d7d68904be2f -r
e8d870ec5a3a004aa9e98907d2bf3c95e1b7ffb5 .hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -84,3 +84,4 @@
965402f1148652d2f746460a4886d3089a160d94 cc-mode-1_49
c98d6d26469325e40ca583a4405d121fa0d44ca8 cc-mode-1_50
3eb9de826afe87ee4f9f5a718373c616a00d1c40 cc-mode-1_51
+ca5959d9f677f0de84c0607fd20cf8f19121b9ec cc-mode-1_52
diff -r dac1c784ef66a4cbddc0d882bb88d7d68904be2f -r
e8d870ec5a3a004aa9e98907d2bf3c95e1b7ffb5 ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-06 Norbert Koch <viteno(a)xemacs.org>
+
+ * Makefile (VERSION): XEmacs package 1.52 released.
+
2012-02-14 Norbert Koch <viteno(a)xemacs.org>
* Makefile (VERSION): XEmacs package 1.51 released.
diff -r dac1c784ef66a4cbddc0d882bb88d7d68904be2f -r
e8d870ec5a3a004aa9e98907d2bf3c95e1b7ffb5 Makefile
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-VERSION = 1.51
+VERSION = 1.52
AUTHOR_VERSION = 5.32.2
MAINTAINER = Alan Mackenzie <bug-cc-mode(a)gnu.org>
PACKAGE = cc-mode
Repository URL:
https://bitbucket.org/xemacs/cc-mode/
--
This is a commit notification from
bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-patches