Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 99466. ------------------------------------------------------------ revno: 99466 committer: Chong Yidong branch nick: trunk timestamp: Sun 2010-02-07 01:36:17 -0500 message: * erc-services.el (erc-nickserv-alist): Fix defcustom type (Bug#5520). diff: === modified file 'lisp/erc/ChangeLog' --- lisp/erc/ChangeLog 2010-01-25 18:49:23 +0000 +++ lisp/erc/ChangeLog 2010-02-07 06:36:17 +0000 @@ -1,3 +1,7 @@ +2010-02-07 Vivek Dasmohapatra + + * erc-services.el (erc-nickserv-alist): Fix defcustom type (Bug#5520). + 2010-01-25 Vivek Dasmohapatra * erc-backend.el (erc-session-connector): New var. === modified file 'lisp/erc/erc-services.el' --- lisp/erc/erc-services.el 2010-01-13 08:35:10 +0000 +++ lisp/erc/erc-services.el 2010-02-07 06:36:17 +0000 @@ -303,7 +303,11 @@ (boolean :tag "Use current nick in identify message?") (choice :tag "Command to use (optional)" (string :tag "Command") - (const :tag "No special command necessary" nil))))) + (const :tag "No special command necessary" nil)) + (choice :tag "Detect Success" + (regexp :tag "Pattern to match") + (const :tag "Do not try to detect success" nil))))) + (defsubst erc-nickserv-alist-sender (network &optional entry) (nth 1 (or entry (assoc network erc-nickserv-alist)))) ------------------------------------------------------------ revno: 99465 committer: Chong Yidong branch nick: trunk timestamp: Sun 2010-02-07 01:23:10 -0500 message: Fix to uid/gid format in eshell's ls (Bug#5528). * eshell/esh-util.el (eshell-file-attributes): New optional arg ID-FORMAT. Pass it to `file-attributes'. * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-02-07 04:14:26 +0000 +++ lisp/ChangeLog 2010-02-07 06:23:10 +0000 @@ -1,3 +1,10 @@ +2010-02-07 Chong Yidong + + * eshell/esh-util.el (eshell-file-attributes): New optional arg + ID-FORMAT. Pass it to `file-attributes'. + + * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528). + 2010-02-07 sj (tiny change) * faces.el (set-face-attribute): Allow calling === modified file 'lisp/eshell/em-ls.el' --- lisp/eshell/em-ls.el 2010-01-13 08:35:10 +0000 +++ lisp/eshell/em-ls.el 2010-02-07 06:23:10 +0000 @@ -393,13 +393,13 @@ (eshell-glob-regexp ignore-pattern)))) ;; list the files! (eshell-ls-entries - (mapcar (function - (lambda (arg) - (cons (if (and (eshell-under-windows-p) - (file-name-absolute-p arg)) - (expand-file-name arg) - arg) - (eshell-file-attributes arg)))) + (mapcar (lambda (arg) + (cons (if (and (eshell-under-windows-p) + (file-name-absolute-p arg)) + (expand-file-name arg) + arg) + (eshell-file-attributes + arg (if numeric-uid-gid 'integer 'string)))) args) t (expand-file-name default-directory))) (funcall flush-func))) @@ -710,7 +710,7 @@ (funcall insert-func need-return "\n")))))) (defun eshell-ls-entries (entries &optional separate root-dir) - "Output PATH's directory ENTRIES, formatted according to OPTIONS. + "Output PATH's directory ENTRIES. Each member of ENTRIES may either be a string or a cons cell, the car of which is the file name, and the cdr of which is the list of attributes. === modified file 'lisp/eshell/esh-util.el' --- lisp/eshell/esh-util.el 2010-01-13 08:35:10 +0000 +++ lisp/eshell/esh-util.el 2010-02-07 06:23:10 +0000 @@ -701,8 +701,11 @@ (forward-line))) entry)) -(defun eshell-file-attributes (file) - "Return the attributes of FILE, playing tricks if it's over ange-ftp." +(defun eshell-file-attributes (file &optional id-format) + "Return the attributes of FILE, playing tricks if it's over ange-ftp. +The optional argument ID-FORMAT specifies the preferred uid and +gid format. Valid values are 'string and 'integer, defaulting to +'integer. See `file-attributes'." (let* ((file (expand-file-name file)) entry) (if (string-equal (file-remote-p file 'method) "ftp") @@ -723,7 +726,7 @@ (setq entry (cdr fentry)) (setq entry nil))))) entry) - (file-attributes file)))) + (file-attributes file id-format)))) (defalias 'eshell-copy-tree 'copy-tree) ------------------------------------------------------------ revno: 99464 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-02-06 23:14:26 -0500 message: Fix setting family and foundry in set-face-attribute (Bug#5536). * faces.el (set-face-attribute): Allow calling internal-set-lisp-face-attribute with 'unspecified family and foundry argument (Bug#5536). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-02-07 01:41:45 +0000 +++ lisp/ChangeLog 2010-02-07 04:14:26 +0000 @@ -1,3 +1,9 @@ +2010-02-07 sj (tiny change) + + * faces.el (set-face-attribute): Allow calling + internal-set-lisp-face-attribute with 'unspecified family and + foundry argument (Bug#5536). + 2010-02-07 Glenn Morris * progmodes/f90.el (f90-font-lock-keywords-2) === modified file 'lisp/faces.el' --- lisp/faces.el 2010-01-13 08:35:10 +0000 +++ lisp/faces.el 2010-02-07 04:14:26 +0000 @@ -735,10 +735,10 @@ (unless foundry (setq foundry (match-string 1 family))) (setq family (match-string 2 family))) - (when (stringp family) + (when (or (stringp family) (eq family 'unspecified)) (internal-set-lisp-face-attribute face :family (purecopy family) where)) - (when (stringp foundry) + (when (or (stringp foundry) (eq foundry 'unspecified)) (internal-set-lisp-face-attribute face :foundry (purecopy foundry) where))) (while args ------------------------------------------------------------ revno: 99463 committer: Glenn Morris branch nick: trunk timestamp: Sat 2010-02-06 17:41:45 -0800 message: Handle F2003 named interfaces. * progmodes/f90.el (f90-font-lock-keywords-2) (f90-looking-at-type-like, f90-looking-at-program-block-end): Handle F2003 named interfaces. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-02-06 13:01:43 +0000 +++ lisp/ChangeLog 2010-02-07 01:41:45 +0000 @@ -1,3 +1,9 @@ +2010-02-07 Glenn Morris + + * progmodes/f90.el (f90-font-lock-keywords-2) + (f90-looking-at-type-like, f90-looking-at-program-block-end): + Handle F2003 named interfaces. + 2010-02-06 Chong Yidong * progmodes/cc-mode.el (c-common-init): Bind temporary variables === modified file 'lisp/progmodes/f90.el' --- lisp/progmodes/f90.el 2010-02-05 08:12:08 +0000 +++ lisp/progmodes/f90.el 2010-02-07 01:41:45 +0000 @@ -560,6 +560,12 @@ (5 font-lock-function-name-face t) (6 'default t)) ;; enum (F2003; must be followed by ", bind(C)"). '("\\<\\(enum\\)[ \t]*," (1 font-lock-keyword-face)) + ;; F2003. Prevent operators being highlighted as constants. + '("\\<\\(\\(?:end[ \t]*\\)?interface[ \t]*\\(?:assignment\\|operator\\|\ +read\\|write\\)\\)[ \t]*(" (1 font-lock-keyword-face t)) + ;; Interface blocks can be named in F2003. + '("\\<\\(\\(?:end[ \t]*\\)?interface\\)[ \t]*\\(\\sw+\\)?\\>" + (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) ;; end do, enum (F2003), if, select, where, and forall constructs. '("\\<\\(end[ \t]*\\(do\\|if\\|enum\\|select\\|forall\\|where\\)\\)\\>\ \\([ \t]+\\(\\sw+\\)\\)?" @@ -1229,7 +1235,7 @@ (defsubst f90-looking-at-type-like () "Return (KIND NAME) if a type/enum/interface/block-data starts after point. -NAME is non-nil only for type." +NAME is non-nil only for type and certain interfaces." (cond ((save-excursion (and (looking-at "\\[ \t]*") @@ -1242,7 +1248,15 @@ ;;; ((and (not (looking-at f90-typeis-re)) ;;; (looking-at f90-type-def-re)) ;;; (list (match-string 1) (match-string 2))) - ((looking-at "\\(enum\\|interface\\|block[ \t]*data\\)\\>") + ((looking-at "\\<\\(interface\\)\\>[ \t]*") + (list (match-string 1) + (save-excursion + (goto-char (match-end 0)) + (if (or (looking-at "\\(operator\\|assignment\\|read\\|\ +write\\)[ \t]*([^)\n]*)") + (looking-at "\\sw+")) + (match-string 0))))) + ((looking-at "\\(enum\\|block[ \t]*data\\)\\>") (list (match-string 1) nil)) ((looking-at "abstract[ \t]*\\(interface\\)\\>") (list (match-string 1) nil)))) @@ -1270,9 +1284,12 @@ (defsubst f90-looking-at-program-block-end () "Return (KIND NAME) if a block with name NAME ends after point." - (if (looking-at (concat "end[ \t]*" f90-blocks-re - "?\\([ \t]+\\(\\sw+\\)\\)?\\>")) - (list (match-string 1) (match-string 3)))) + (cond ((looking-at "end[ \t]*\\(interface\\)[ \t]*\\(\ +\\(?:assignment\\|operator\\|read\\|write\\)[ \t]*([^)\n]*)\\)") + (list (match-string 1) (match-string 2))) + ((looking-at (concat "end[ \t]*" f90-blocks-re + "?\\([ \t]+\\(\\sw+\\)\\)?\\>")) + (list (match-string 1) (match-string 3))))) (defsubst f90-comment-indent () "Return the indentation to be used for a comment starting at point. ------------------------------------------------------------ revno: 99462 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-02-06 08:29:05 -0500 message: Credit Vivek Dasmohapatra for suggesting the last change. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-02-06 13:23:33 +0000 +++ src/ChangeLog 2010-02-06 13:29:05 +0000 @@ -2,7 +2,7 @@ * charset.c (load_charset_map_from_file) (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA - instead of xmalloc (Bug#5526). + instead of xmalloc (Bug#5526). Suggested by Vivek Dasmohapatra. 2010-02-05 Chong Yidong ------------------------------------------------------------ revno: 99461 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-02-06 08:23:33 -0500 message: * charset.c (load_charset_map_from_file) (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA instead of xmalloc (Bug#5526). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-02-05 03:54:49 +0000 +++ src/ChangeLog 2010-02-06 13:23:33 +0000 @@ -1,3 +1,9 @@ +2010-02-06 Chong Yidong + + * charset.c (load_charset_map_from_file) + (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA + instead of xmalloc (Bug#5526). + 2010-02-05 Chong Yidong * charset.c (load_charset_map_from_file): Allocate large === modified file 'src/charset.c' --- src/charset.c 2010-02-05 03:54:49 +0000 +++ src/charset.c 2010-02-06 13:23:33 +0000 @@ -512,12 +512,13 @@ int eof; Lisp_Object suffixes; struct charset_map_entries *head, *entries; - int n_entries; - int count = SPECPDL_INDEX (); + int n_entries, count; + USE_SAFE_ALLOCA; suffixes = Fcons (build_string (".map"), Fcons (build_string (".TXT"), Qnil)); + count = SPECPDL_INDEX (); specbind (Qfile_name_handler_alist, Qnil); fd = openp (Vcharset_map_path, mapfile, suffixes, NULL, Qnil); unbind_to (count, Qnil); @@ -525,8 +526,12 @@ || ! (fp = fdopen (fd, "r"))) error ("Failure in loading charset map: %S", SDATA (mapfile)); - head = entries = ((struct charset_map_entries *) - xmalloc (sizeof (struct charset_map_entries))); + /* Use SAFE_ALLOCA instead of alloca, as `charset_map_entries' is + large (larger than MAX_ALLOCA). */ + SAFE_ALLOCA (head, struct charset_map_entries *, + sizeof (struct charset_map_entries)); + entries = head; + n_entries = 0; eof = 0; while (1) @@ -549,8 +554,8 @@ if (n_entries > 0 && (n_entries % 0x10000) == 0) { - entries->next = ((struct charset_map_entries *) - alloca (sizeof (struct charset_map_entries))); + SAFE_ALLOCA (entries->next, struct charset_map_entries *, + sizeof (struct charset_map_entries)); entries = entries->next; } idx = n_entries % 0x10000; @@ -563,7 +568,7 @@ close (fd); load_charset_map (charset, head, n_entries, control_flag); - xfree (head); + SAFE_FREE (); } static void @@ -578,6 +583,7 @@ int n_entries; int len = ASIZE (vec); int i; + USE_SAFE_ALLOCA; if (len % 2 == 1) { @@ -585,8 +591,12 @@ return; } - head = entries = ((struct charset_map_entries *) - alloca (sizeof (struct charset_map_entries))); + /* Use SAFE_ALLOCA instead of alloca, as `charset_map_entries' is + large (larger than MAX_ALLOCA). */ + SAFE_ALLOCA (head, struct charset_map_entries *, + sizeof (struct charset_map_entries)); + entries = head; + n_entries = 0; for (i = 0; i < len; i += 2) { @@ -619,8 +629,8 @@ if (n_entries > 0 && (n_entries % 0x10000) == 0) { - entries->next = ((struct charset_map_entries *) - alloca (sizeof (struct charset_map_entries))); + SAFE_ALLOCA (entries->next, struct charset_map_entries *, + sizeof (struct charset_map_entries)); entries = entries->next; } idx = n_entries % 0x10000; @@ -631,6 +641,7 @@ } load_charset_map (charset, head, n_entries, control_flag); + SAFE_FREE (); } ------------------------------------------------------------ revno: 99460 committer: Chong Yidong branch nick: trunk timestamp: Sat 2010-02-06 08:01:43 -0500 message: * progmodes/cc-mode.el (c-common-init): Bind temporary variables beg and end before calling c-get-state-before-change-functions. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-02-06 04:23:59 +0000 +++ lisp/ChangeLog 2010-02-06 13:01:43 +0000 @@ -1,3 +1,8 @@ +2010-02-06 Chong Yidong + + * progmodes/cc-mode.el (c-common-init): Bind temporary variables + beg and end before calling c-get-state-before-change-functions. + 2010-02-06 Dan Nicolaescu * vc-bzr.el (vc-bzr-dir-extra-headers): Disable the pending merges header. === modified file 'lisp/progmodes/cc-mode.el' --- lisp/progmodes/cc-mode.el 2010-02-04 21:15:37 +0000 +++ lisp/progmodes/cc-mode.el 2010-02-06 13:01:43 +0000 @@ -642,9 +642,11 @@ (widen) (save-excursion (if c-get-state-before-change-functions - (mapc (lambda (fn) - (funcall fn beg end)) - c-get-state-before-change-functions)) + (let ((beg (point-min)) + (end (point-max))) + (mapc (lambda (fn) + (funcall fn beg end)) + c-get-state-before-change-functions))) (if c-before-font-lock-function (funcall c-before-font-lock-function (point-min) (point-max) (- (point-max) (point-min)))))) ------------------------------------------------------------ revno: 99459 committer: Dan Nicolaescu branch nick: trunk timestamp: Fri 2010-02-05 20:23:59 -0800 message: * vc-bzr.el (vc-bzr-dir-extra-headers): Disable the pending merges header. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-02-05 22:36:20 +0000 +++ lisp/ChangeLog 2010-02-06 04:23:59 +0000 @@ -1,3 +1,7 @@ +2010-02-06 Dan Nicolaescu + + * vc-bzr.el (vc-bzr-dir-extra-headers): Disable the pending merges header. + 2010-02-05 Juri Linkov * doc-view.el (doc-view-mode): === modified file 'lisp/vc-bzr.el' --- lisp/vc-bzr.el 2010-02-01 04:58:35 +0000 +++ lisp/vc-bzr.el 2010-02-06 04:23:59 +0000 @@ -796,8 +796,12 @@ (shelve-help-echo "Use M-x vc-bzr-shelve to create shelves") (root-dir (vc-bzr-root dir)) (pending-merge - (file-exists-p - (expand-file-name ".bzr/checkout/merge-hashes" root-dir))) + ;; FIXME: looking for .bzr/checkout/merge-hashes is not a + ;; reliable method to detect pending merges, disable this + ;; until a proper solution is implemented. + (and nil + (file-exists-p + (expand-file-name ".bzr/checkout/merge-hashes" root-dir)))) (pending-merge-help-echo (format "A merge has been performed.\nA commit from the top-level directory (%s)\nis required before being able to check in anything else" root-dir)) (light-checkout