Now on revision 112891. ------------------------------------------------------------ revno: 112891 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2013-06-08 06:38:46 +0300 message: Minor tweak of nt/INSTALL.MSYS. diff: === modified file 'nt/INSTALL.MSYS' --- nt/INSTALL.MSYS 2013-06-07 08:31:53 +0000 +++ nt/INSTALL.MSYS 2013-06-08 03:38:46 +0000 @@ -118,11 +118,6 @@ MSYS Texinfo, after installing it as part of msys-base, invoke the command "mingw-get remove msys-texinfo".) - As the above packages don't include automake, you will need to - install it, e.g. from here: - - http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download - At this point, you should be ready to configure and build Emacs in its basic configuration. Skip to the "Generating the configure script" section for the build instructions. If you want to build it ------------------------------------------------------------ revno: 112890 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-06-07 18:35:47 -0700 message: Improve previous bytecomp fix * lisp/emacs-lisp/bytecomp.el (byte-compile-char-before) (byte-compile-backward-char, byte-compile-backward-word): Improve previous change, to handle non-explicit nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-08 00:56:22 +0000 +++ lisp/ChangeLog 2013-06-08 01:35:47 +0000 @@ -1,3 +1,9 @@ +2013-06-08 Glenn Morris + + * emacs-lisp/bytecomp.el (byte-compile-char-before) + (byte-compile-backward-char, byte-compile-backward-word): + Improve previous change, to handle non-explicit nil. + 2013-06-07 Stefan Monnier * emacs-lisp/smie.el: Improve show-paren-mode behavior. === modified file 'lisp/emacs-lisp/bytecomp.el' --- lisp/emacs-lisp/bytecomp.el 2013-06-06 21:04:43 +0000 +++ lisp/emacs-lisp/bytecomp.el 2013-06-08 01:35:47 +0000 @@ -3446,6 +3446,7 @@ (byte-defop-compiler (/ byte-quo) byte-compile-quo) (byte-defop-compiler nconc) +;; Is this worth it? Both -before and -after are written in C. (defun byte-compile-char-before (form) (cond ((or (= 1 (length form)) (and (= 2 (length form)) (not (nth 1 form)))) @@ -3453,10 +3454,12 @@ ((= 2 (length form)) (byte-compile-form (list 'char-after (if (numberp (nth 1 form)) (1- (nth 1 form)) - `(1- ,(nth 1 form)))))) + `(1- (or ,(nth 1 form) + (point))))))) (t (byte-compile-subr-wrong-args form "0-1")))) ;; backward-... ==> forward-... with negated argument. +;; Is this worth it? Both -backward and -forward are written in C. (defun byte-compile-backward-char (form) (cond ((or (= 1 (length form)) (and (= 2 (length form)) (not (nth 1 form)))) @@ -3464,7 +3467,7 @@ ((= 2 (length form)) (byte-compile-form (list 'forward-char (if (numberp (nth 1 form)) (- (nth 1 form)) - `(- ,(nth 1 form)))))) + `(- (or ,(nth 1 form) 1)))))) (t (byte-compile-subr-wrong-args form "0-1")))) (defun byte-compile-backward-word (form) @@ -3474,7 +3477,7 @@ ((= 2 (length form)) (byte-compile-form (list 'forward-word (if (numberp (nth 1 form)) (- (nth 1 form)) - `(- ,(nth 1 form)))))) + `(- (or ,(nth 1 form) 1)))))) (t (byte-compile-subr-wrong-args form "0-1")))) (defun byte-compile-list (form) ------------------------------------------------------------ revno: 112889 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-06-07 20:56:22 -0400 message: ChangeLog fix diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-07 22:58:35 +0000 +++ lisp/ChangeLog 2013-06-08 00:56:22 +0000 @@ -79,12 +79,10 @@ (lisp--augmented-font-lock-keywords-2, lisp-mode-variables): Remove unneeded variables and use it. -2013-06-05 Teodor Zlatanov +2013-06-05 João Távora * net/tls.el (open-tls-stream): Remove unneeded buffer contents up - to point when opening the connection. - Suggested by João Távora in - . + to point when opening the connection. (Bug#14380) 2013-06-05 Stefan Monnier ------------------------------------------------------------ revno: 112888 committer: Stefan Monnier branch nick: trunk timestamp: Fri 2013-06-07 18:58:35 -0400 message: * lisp/emacs-lisp/smie.el: Improve show-paren-mode behavior. (smie--opener/closer-at-point): New function. (smie--matching-block-data): Use it. Don't match from right after an opener or right before a closer. Obey smie-blink-matching-inners. Don't signal a mismatch for repeated inners like "switch..case..case". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-07 13:00:47 +0000 +++ lisp/ChangeLog 2013-06-07 22:58:35 +0000 @@ -1,3 +1,11 @@ +2013-06-07 Stefan Monnier + + * emacs-lisp/smie.el: Improve show-paren-mode behavior. + (smie--opener/closer-at-point): New function. + (smie--matching-block-data): Use it. Don't match from right after an + opener or right before a closer. Obey smie-blink-matching-inners. + Don't signal a mismatch for repeated inners like "switch..case..case". + 2013-06-07 Leo Liu * progmodes/octave.el (octave-mode): Set comment-use-global-state === modified file 'lisp/emacs-lisp/smie.el' --- lisp/emacs-lisp/smie.el 2013-06-07 11:48:28 +0000 +++ lisp/emacs-lisp/smie.el 2013-06-07 22:58:35 +0000 @@ -957,7 +957,7 @@ (let ((ender (funcall smie-backward-token-function))) (cond ((not (and ender (rassoc ender smie-closer-alist))) - ;; This not is one of the begin..end we know how to check. + ;; This is not one of the begin..end we know how to check. (blink-matching-check-mismatch start end)) ((not start) t) ((eq t (car (rassoc ender smie-closer-alist))) nil) @@ -1012,6 +1012,9 @@ (or (eq (char-before) last-command-event) (not (memq (char-before) smie-blink-matching-triggers))) + ;; FIXME: For octave's "switch ... case ... case" we flash + ;; `switch' at the end of the first `case' and we burp + ;; "mismatch" at the end of the second `case'. (or smie-blink-matching-inners (not (numberp (nth 2 (assoc token smie-grammar)))))) ;; The major mode might set blink-matching-check-function @@ -1023,61 +1026,88 @@ (defvar-local smie--matching-block-data-cache nil) +(defun smie--opener/closer-at-point () + "Return (OPENER TOKEN START END) or nil. +OPENER is non-nil if TOKEN is an opener and nil if it's a closer." + (let* ((start (point)) + ;; Move to a previous position outside of a token. + (_ (funcall smie-backward-token-function)) + ;; Move to the end of the token before point. + (btok (funcall smie-forward-token-function)) + (bend (point))) + (cond + ;; Token before point is a closer? + ((and (>= bend start) (rassoc btok smie-closer-alist)) + (funcall smie-backward-token-function) + (when (< (point) start) + (prog1 (list nil btok (point) bend) + (goto-char bend)))) + ;; Token around point is an opener? + ((and (> bend start) (assoc btok smie-closer-alist)) + (funcall smie-backward-token-function) + (when (<= (point) start) (list t btok (point) bend))) + ((<= bend start) + (let ((atok (funcall smie-forward-token-function)) + (aend (point))) + (cond + ((< aend start) nil) ;Hopefully shouldn't happen. + ;; Token after point is a closer? + ((assoc atok smie-closer-alist) + (funcall smie-backward-token-function) + (when (<= (point) start) + (list t atok (point) aend))))))))) + (defun smie--matching-block-data (orig &rest args) "A function suitable for `show-paren-data-function' (which see)." - (when smie-closer-alist - (if (eq (point) (car smie--matching-block-data-cache)) - (or (cdr smie--matching-block-data-cache) - (apply orig args)) - (setq smie--matching-block-data-cache (list (point))) - (let* ((beg-of-tok - (lambda (&optional start) - "Move to the beginning of current token at START." - (let* ((token) - (start (or start (point))) - (beg (progn - (funcall smie-backward-token-function) - (forward-comment (point-max)) - (point))) - (end (progn - (setq token (funcall smie-forward-token-function)) - (forward-comment (- (point))) - (point)))) - (if (and (<= beg start) (<= start end) - (or (assoc token smie-closer-alist) - (rassoc token smie-closer-alist))) - (progn (goto-char beg) (list token beg end)) - (goto-char start) - nil)))) - (tok-at-pt - (lambda () - (or (funcall beg-of-tok) - (funcall beg-of-tok - (prog1 (point) - (funcall smie-forward-token-function))))))) - (unless (nth 8 (syntax-ppss)) - (condition-case nil - (let ((here (funcall tok-at-pt)) - there pair) - (when here - (cond - ((assoc (car here) smie-closer-alist) ; opener - (forward-sexp 1) - (setq there (funcall tok-at-pt)) - (setq pair (cons (car here) (car there)))) - ((rassoc (car here) smie-closer-alist) ; closer - (funcall smie-forward-token-function) - (forward-sexp -1) - (setq there (funcall tok-at-pt)) - (setq pair (cons (car there) (car here))))) - ;; Update the cache - (setcdr smie--matching-block-data-cache - (list (nth 1 here) (nth 2 here) - (nth 1 there) (nth 2 there) - (not (member pair smie-closer-alist)))))) - (scan-error)) - (goto-char (car smie--matching-block-data-cache)))) - (apply #'smie--matching-block-data orig args)))) + (if (or (null smie-closer-alist) + (eq (point) (car smie--matching-block-data-cache))) + (or (cdr smie--matching-block-data-cache) + (apply orig args)) + (setq smie--matching-block-data-cache (list (point))) + (unless (nth 8 (syntax-ppss)) + (condition-case nil + (let ((here (smie--opener/closer-at-point))) + (when (and here + (or smie-blink-matching-inners + (not (numberp + (nth (if (nth 0 here) 1 2) + (assoc (nth 1 here) smie-grammar)))))) + (let ((there + (cond + ((car here) ; Opener. + (let ((data (smie-forward-sexp 'halfsexp)) + (tend (point))) + (unless (car data) + (funcall smie-backward-token-function) + (list (member (cons (nth 1 here) (nth 2 data)) + smie-closer-alist) + (point) tend)))) + (t ;Closer. + (let ((data (smie-backward-sexp 'halfsexp)) + (htok (nth 1 here))) + (if (car data) + (let* ((hprec (nth 2 (assoc htok smie-grammar))) + (ttok (nth 2 data)) + (tprec (nth 1 (assoc ttok smie-grammar)))) + (when (and (numberp hprec) ;Here is an inner. + (eq hprec tprec)) + (goto-char (nth 1 data)) + (let ((tbeg (point))) + (funcall smie-forward-token-function) + (list t tbeg (point))))) + (let ((tbeg (point))) + (funcall smie-forward-token-function) + (list (member (cons (nth 2 data) htok) + smie-closer-alist) + tbeg (point))))))))) + ;; Update the cache. + (setcdr smie--matching-block-data-cache + (list (nth 2 here) (nth 3 here) + (nth 1 there) (nth 2 there) + (not (nth 0 there))))))) + (scan-error nil)) + (goto-char (car smie--matching-block-data-cache))) + (apply #'smie--matching-block-data orig args))) ;;; The indentation engine. ------------------------------------------------------------ revno: 112887 [merge] committer: Xue Fuqiao branch nick: trunk timestamp: Fri 2013-06-07 22:05:27 +0800 message: * maintaining.texi (Branches): Remove text copied from other sources. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-06-06 05:35:01 +0000 +++ doc/emacs/ChangeLog 2013-06-07 14:00:27 +0000 @@ -1,3 +1,8 @@ +2013-06-07 Xue Fuqiao + + * maintaining.texi (Branches): Remove text copied from other + sources. + 2013-06-05 Alan Mackenzie * search.texi (Isearch Scroll): Rename to "Not Exiting Isearch". === modified file 'doc/emacs/maintaining.texi' --- doc/emacs/maintaining.texi 2013-06-02 11:56:39 +0000 +++ doc/emacs/maintaining.texi 2013-06-07 14:00:27 +0000 @@ -1267,16 +1267,7 @@ @cindex branch (version control) One use of version control is to support multiple independent lines -of development, which are called @dfn{branches}. Branches allow for -parts of software to be developed in parallel. Large projects require -many roles to be filled, including developers, build managers, and -quality assurance personnel. Further, multiple releases on different -operating system platforms may have to be maintained. Branches allow -contributors to isolate changes without destabilizing the codebase, -for example, fixes for bugs, new features, and versions -integration. These changes may be later merged (resynchronized) after -testing. - +of development, which are called @dfn{branches}. VC's support for branch operations is currently fairly limited. For decentralized version control systems, it provides commands for ------------------------------------------------------------ revno: 112886 fixes bug: http://debbugs.gnu.org/14570 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-06-07 21:00:47 +0800 message: * progmodes/octave.el (octave-function-header-regexp): Fix. (octave-help-mode-finish-hook, octave-help-mode-finish): Remove. Just use temp-buffer-show-hook. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-07 11:48:28 +0000 +++ lisp/ChangeLog 2013-06-07 13:00:47 +0000 @@ -2,6 +2,9 @@ * progmodes/octave.el (octave-mode): Set comment-use-global-state to t. (Bug#14303) + (octave-function-header-regexp): Fix. (Bug#14570) + (octave-help-mode-finish-hook, octave-help-mode-finish): + Remove. Just use temp-buffer-show-hook. * newcomment.el (comment-search-backward): Revert last change. (Bug#14434) === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-06-07 11:48:28 +0000 +++ lisp/progmodes/octave.el 2013-06-07 13:00:47 +0000 @@ -89,7 +89,7 @@ (defvar octave-function-header-regexp (concat "^\\s-*\\_<\\(function\\)\\_>" - "\\([^=;\n]*=[ \t]*\\|[ \t]*\\)\\(\\(?:\\w\\|\\s_\\)+\\)\\_>") + "\\([^=;(\n]*=[ \t]*\\|[ \t]*\\)\\(\\(?:\\w\\|\\s_\\)+\\)\\_>") "Regexp to match an Octave function header. The string `function' and its name are given by the first and third parenthetical grouping.") @@ -1607,15 +1607,6 @@ (when (or help-xref-stack help-xref-forward-stack) (insert "\n")))) -(defvar octave-help-mode-finish-hook nil - "Octave specific hook for `temp-buffer-show-hook'.") - -(defun octave-help-mode-finish () - (when (eq major-mode 'octave-help-mode) - (run-hooks 'octave-help-mode-finish-hook))) - -(add-hook 'temp-buffer-show-hook 'octave-help-mode-finish) - (defun octave-help (fn) "Display the documentation of FN." (interactive (list (octave-completing-read))) ------------------------------------------------------------ revno: 112885 fixes bugs: http://debbugs.gnu.org/14434 http://debbugs.gnu.org/14303 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-06-07 19:48:28 +0800 message: * newcomment.el (comment-search-backward): Revert last change. * emacs-lisp/smie.el (smie--matching-block-data): Minor simplification. * progmodes/octave.el (octave-mode): Set comment-use-global-state to t. (Bug#14303) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-07 09:26:02 +0000 +++ lisp/ChangeLog 2013-06-07 11:48:28 +0000 @@ -1,3 +1,13 @@ +2013-06-07 Leo Liu + + * progmodes/octave.el (octave-mode): Set comment-use-global-state + to t. (Bug#14303) + + * newcomment.el (comment-search-backward): Revert last change. + (Bug#14434) + + * emacs-lisp/smie.el (smie--matching-block-data): Minor simplification. + 2013-06-07 Eli Zaretskii * Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files === modified file 'lisp/emacs-lisp/smie.el' --- lisp/emacs-lisp/smie.el 2013-06-05 07:40:02 +0000 +++ lisp/emacs-lisp/smie.el 2013-06-07 11:48:28 +0000 @@ -1057,24 +1057,24 @@ (funcall smie-forward-token-function))))))) (unless (nth 8 (syntax-ppss)) (condition-case nil - (let ((here (funcall tok-at-pt))) + (let ((here (funcall tok-at-pt)) + there pair) (when here - (let (pair there) - (cond - ((assoc (car here) smie-closer-alist) ; opener - (forward-sexp 1) - (setq there (funcall tok-at-pt)) - (setq pair (cons (car here) (car there)))) - ((rassoc (car here) smie-closer-alist) ; closer - (funcall smie-forward-token-function) - (forward-sexp -1) - (setq there (funcall tok-at-pt)) - (setq pair (cons (car there) (car here))))) - ;; Update the cache - (setcdr smie--matching-block-data-cache - (list (nth 1 here) (nth 2 here) - (nth 1 there) (nth 2 there) - (not (member pair smie-closer-alist))))))) + (cond + ((assoc (car here) smie-closer-alist) ; opener + (forward-sexp 1) + (setq there (funcall tok-at-pt)) + (setq pair (cons (car here) (car there)))) + ((rassoc (car here) smie-closer-alist) ; closer + (funcall smie-forward-token-function) + (forward-sexp -1) + (setq there (funcall tok-at-pt)) + (setq pair (cons (car there) (car here))))) + ;; Update the cache + (setcdr smie--matching-block-data-cache + (list (nth 1 here) (nth 2 here) + (nth 1 there) (nth 2 there) + (not (member pair smie-closer-alist)))))) (scan-error)) (goto-char (car smie--matching-block-data-cache)))) (apply #'smie--matching-block-data orig args)))) === modified file 'lisp/newcomment.el' --- lisp/newcomment.el 2013-05-17 22:46:10 +0000 +++ lisp/newcomment.el 2013-06-07 11:48:28 +0000 @@ -485,29 +485,27 @@ Moves point to inside the comment and returns the position of the comment-starter. If no comment is found, moves point to LIMIT and raises an error or returns nil if NOERROR is non-nil." - (let (found end) - (while (and (not found) - (re-search-backward comment-start-skip limit t)) - (setq end (match-end 0)) - (unless (and comment-use-syntax - (nth 8 (syntax-ppss (or (match-end 1) - (match-beginning 0))))) - (setq found t))) - (if (not found) - (unless noerror (error "No comment")) - (beginning-of-line) - (let ((cs (comment-search-forward end t)) - (pt (point))) - (if (not cs) - (progn (beginning-of-line) - (comment-search-backward limit noerror)) - (while (progn (goto-char cs) - (comment-forward) - (and (< (point) end) - (setq cs (comment-search-forward end t)))) - (setq pt (point))) - (goto-char pt) - cs))))) + ;; FIXME: If a comment-start appears inside a comment, we may erroneously + ;; stop there. This can be rather bad in general, but since + ;; comment-search-backward is only used to find the comment-column (in + ;; comment-set-column) and to find the comment-start string (via + ;; comment-beginning) in indent-new-comment-line, it should be harmless. + (if (not (re-search-backward comment-start-skip limit t)) + (unless noerror (error "No comment")) + (beginning-of-line) + (let* ((end (match-end 0)) + (cs (comment-search-forward end t)) + (pt (point))) + (if (not cs) + (progn (beginning-of-line) + (comment-search-backward limit noerror)) + (while (progn (goto-char cs) + (comment-forward) + (and (< (point) end) + (setq cs (comment-search-forward end t)))) + (setq pt (point))) + (goto-char pt) + cs)))) (defun comment-beginning () "Find the beginning of the enclosing comment. === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-06-05 07:40:02 +0000 +++ lisp/progmodes/octave.el 2013-06-07 11:48:28 +0000 @@ -540,6 +540,7 @@ ;; a ";" at those places where it's correct (i.e. outside of parens). (setq-local electric-layout-rules '((?\; . after))) + (setq-local comment-use-global-state t) (setq-local comment-start octave-comment-start) (setq-local comment-end "") (setq-local comment-start-skip octave-comment-start-skip) @@ -664,6 +665,7 @@ :abbrev-table octave-abbrev-table (setq comint-prompt-regexp inferior-octave-prompt) + (setq-local comment-use-global-state t) (setq-local comment-start octave-comment-start) (setq-local comment-end "") (setq comment-column 32) ------------------------------------------------------------ revno: 112884 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2013-06-07 12:26:02 +0300 message: Fix "make TAGS" on MS-Windows. lisp/Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files through xargs, to avoid failure due to MS-Windows limitations on command-line length. src/Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. (ctagsfiles3): New variable, includes only *.m files. (TAGS): Use an explicit language name in the regular expressions, to avoid transformation of '/SOMETHING' by MSYS to 'c:\MSYS\SOMETHING'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-07 03:23:57 +0000 +++ lisp/ChangeLog 2013-06-07 09:26:02 +0000 @@ -1,3 +1,9 @@ +2013-06-07 Eli Zaretskii + + * Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files + through xargs, to avoid failure due to MS-Windows limitations on + command-line length. + 2013-06-06 Glenn Morris * font-lock.el (lisp-font-lock-keywords-2): === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-05-25 16:05:19 +0000 +++ lisp/Makefile.in 2013-06-07 09:26:02 +0000 @@ -209,8 +209,9 @@ $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ - ${ETAGS} -o $@ $$els + rm -f $@; touch $@; \ + echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,," | \ + xargs $(XARGS_LIMIT) ${ETAGS} -a -o $@ # The src/Makefile.in has its own set of dependencies and when they decide # that one Lisp file needs to be re-compiled, we had better recompile it as === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-07 08:08:29 +0000 +++ src/ChangeLog 2013-06-07 09:26:02 +0000 @@ -1,3 +1,11 @@ +2013-06-07 Eli Zaretskii + + * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. + (ctagsfiles3): New variable, includes only *.m files. + (TAGS): Use an explicit language name in the regular expressions, + to avoid transformation of '/SOMETHING' by MSYS to + 'c:\MSYS\SOMETHING'. + 2013-06-07 Richard Copley (tiny change) * epaths.in: Fix commentary to PATH_SITELOADSEARCH. === modified file 'src/Makefile.in' --- src/Makefile.in 2013-06-03 19:06:09 +0000 +++ src/Makefile.in 2013-06-07 09:26:02 +0000 @@ -588,13 +588,16 @@ ## Arrange to make a tags table TAGS-LISP for ../lisp, ## plus TAGS for the C files, which includes ../lisp/TAGS by reference. -ctagsfiles1 = [xyzXYZ]*.[hcm] -ctagsfiles2 = [a-wA-W]*.[hcm] +ctagsfiles1 = [xyzXYZ]*.[hc] +ctagsfiles2 = [a-wA-W]*.[hc] +ctagsfiles3 = [a-zA-Z]*.m TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ - --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) + --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ + $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) \ + --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ + $(srcdir)/$(ctagsfiles3) frc: TAGS-LISP: frc $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags ------------------------------------------------------------ revno: 112883 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2013-06-07 11:31:53 +0300 message: Minor improvements in nt/INSTALL.MSYS instructions. nt/INSTALL.MSYS: mingw-get is not a GUI program (yet). msys-automake is not suitable for MinGW builds. Mention the --enable-locallisppath switch to msysconfig.sh. Suggested by ׃scar Fuentes . diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2013-06-07 08:08:29 +0000 +++ nt/ChangeLog 2013-06-07 08:31:53 +0000 @@ -1,3 +1,10 @@ +2013-06-07 Eli Zaretskii + + * INSTALL.MSYS: mingw-get is not a GUI program (yet). + msys-automake is not suitable for MinGW builds. Mention the + --enable-locallisppath switch to msysconfig.sh. Suggested by + Óscar Fuentes . + 2013-06-07 Richard Copley (tiny change) * epaths.nt (PATH_SITELOADSEARCH): Fix commentary. === modified file 'nt/INSTALL.MSYS' --- nt/INSTALL.MSYS 2013-06-03 16:55:37 +0000 +++ nt/INSTALL.MSYS 2013-06-07 08:31:53 +0000 @@ -92,9 +92,9 @@ ** Installing MinGW and MSYS using mingw-get - A nice GUI installer, called mingw-get, is available for those who - don't like to mess with manual installations. You can download it - from here: + A nice installer, called mingw-get, is available for those who don't + like to mess with manual installations. You can download it from + here: https://sourceforge.net/projects/mingw/files/Installer/mingw-get/ @@ -110,7 +110,6 @@ . msys-base . mingw-developer-toolkit - . msys-automake (We recommend that you refrain from installing the MSYS Texinfo package, which is part of msys-base, because it might produce mixed @@ -119,6 +118,11 @@ MSYS Texinfo, after installing it as part of msys-base, invoke the command "mingw-get remove msys-texinfo".) + As the above packages don't include automake, you will need to + install it, e.g. from here: + + http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download + At this point, you should be ready to configure and build Emacs in its basic configuration. Skip to the "Generating the configure script" section for the build instructions. If you want to build it @@ -188,11 +192,11 @@ Each package might list other packages as prerequisites on its download page (under "Runtime requirements"); download those as - well. (Using the GUI installer mingw-get will fetch those - prerequisites automatically for you.) A missing prerequisite will - manifest itself by the program failing to run and presenting a - pop-up dialog that states the missing or incompatible DLL; be sure - to find and install these missing DLLs. + well. (Using the mingw-get installer will fetch those prerequisites + automatically for you.) A missing prerequisite will manifest itself + by the program failing to run and presenting a pop-up dialog that + states the missing or incompatible DLL; be sure to find and install + these missing DLLs. Once you think you have MinGW installed, test the installation by building a trivial "hello, world!" program, and make sure that it @@ -228,8 +232,8 @@ repository): Automake and Autoconf. They are available from here: - http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download - http://sourceforge.net/projects/ezwinports/files/autoconf-2.65-msys-bin.zip/download + http://sourceforge.net/projects/ezwinports/files/automake-1.11.6-msys-bin.zip/download + http://sourceforge.net/projects/ezwinports/files/autoconf-2.65-msys-bin.zip/download MSYS packages are distributed as .tar.lzma compressed archives. To install the packages manually, we recommend to use the Windows port @@ -256,11 +260,11 @@ Each package might list other packages as prerequisites on its download page (under "Runtime requirements"); download those as - well. (Using the GUI installer mingw-get will fetch those - prerequisites automatically for you.) A missing prerequisite will - manifest itself by the program failing to run and presenting a - pop-up dialog that states the missing or incompatible DLL; be sure - to find and install these missing DLLs. + well. (Using the mingw-get installer will fetch those prerequisites + automatically for you.) A missing prerequisite will manifest itself + by the program failing to run and presenting a pop-up dialog that + states the missing or incompatible DLL; be sure to find and install + these missing DLLs. MSYS packages should be installed in a separate tree from MinGW. For example, use D:\MSYS or D:\usr\MSYS as the top-level directory @@ -344,9 +348,9 @@ Do NOT use Windows-style x:/foo/bar file names on the configure script command line; use the MSYS-style /x/foo/bar instead. Using Windows-style file names was reported to cause subtle and hard to - figure out problems during the build. This applies both to - --prefix= switch and the absolute file name of msysconfig.sh, if you - are building outside of the source tree. + figure out problems during the build. This applies both to the + command switches, such as --prefix=, and to the absolute file name + of msysconfig.sh, if you are building outside of the source tree. You can pass additional options to the configure script, for the full list type @@ -370,6 +374,19 @@ to specify... Perhaps you may wish to revisit your installation decisions now. + If you have a global site-lisp directory from previous Emacs + installation, and you want Emacs to continue using it, specify it + via the --enable-locallisppath switch to msysconfig.sh, like this: + + ./nt/msysconfig.sh --prefix=PREFIX --enable-locallisppath="%emacs_dir%/share/emacs/VERSION/site-lisp;/d/wherever/site-lisp" + + The %emacs_dir% part is the root of the Emacs installation tree, it + will get expanded by Emacs when it starts up. Using %emacs_dir%, + you can add directories relative to your Emacs installation, which + will continue to be valid if you move the entire Emacs tree into + another place on your disk. Use the normal MSYS /d/foo/bar style to + specify directories by their absolute file names. + A few frequently used options are needed when you want to produce an unoptimized binary with runtime checks enabled: ------------------------------------------------------------ revno: 112882 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2013-06-07 11:10:44 +0300 message: Fix ChangeLog entry of last commit. diff: === modified file 'ChangeLog' --- ChangeLog 2013-06-07 08:08:29 +0000 +++ ChangeLog 2013-06-07 08:10:44 +0000 @@ -3,7 +3,7 @@ * Makefile.in (msys_to_w32): Modify to support d:\foo file names. (msys_lisppath_to_w32, msys_prefix_subst, msys_sed_sh_escape): New variables. - (epaths-force-w32): Use them. + (epaths-force-w32): Use them. (Bug#14513) 2013-06-03 Michael Albinus ------------------------------------------------------------ revno: 112881 fixes bug: http://debbugs.gnu.org/14513 author: Richard Copley committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2013-06-07 11:08:29 +0300 message: Fix bug #14513 with --enable-locallisppath not working on MS-Windows. Makefile.in (msys_to_w32): Modify to support d:\foo file names. (msys_lisppath_to_w32, msys_prefix_subst, msys_sed_sh_escape): New variables. (epaths-force-w32): Use them. epaths.nt (PATH_SITELOADSEARCH): Fix commentary. epaths.in: Fix commentary to PATH_SITELOADSEARCH. diff: === modified file 'ChangeLog' --- ChangeLog 2013-06-03 19:38:06 +0000 +++ ChangeLog 2013-06-07 08:08:29 +0000 @@ -1,3 +1,10 @@ +2013-06-07 Richard Copley (tiny change) + + * Makefile.in (msys_to_w32): Modify to support d:\foo file names. + (msys_lisppath_to_w32, msys_prefix_subst, msys_sed_sh_escape): New + variables. + (epaths-force-w32): Use them. + 2013-06-03 Michael Albinus * configure.ac (HAVE_GFILENOTIFY): Check for gio >= 2.24. === modified file 'Makefile.in' --- Makefile.in 2013-05-16 09:58:56 +0000 +++ Makefile.in 2013-06-07 08:08:29 +0000 @@ -318,14 +318,37 @@ -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \ ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h -# Convert MSYS-style /x/foo file name into x:/foo that Windows can grok. -msys_to_w32=sed -e 's,^/\([A-Za-z]\)/,\1:/,' +# Convert MSYS-style /x/foo or Windows-style x:\foo file names +# into x:/foo that Windows can grok. +msys_to_w32=sed -e 's,\\\\,/,g' -e 's,^/\([A-Za-z]\)/,\1:/,' + +# Transform directory search path and its components. Original can +# be MSYS or Windows style. Set path separator to ";", directory +# separator to "/" and transform MSYS-style "/c/" to "c:/". +# Remove empty path components and escape semicolons. +msys_lisppath_to_w32=sed -e 's,\\\\,/,g' \ + -e 's,\(^\|[:;]\)\([A-Za-z]\):/,\1/\2/,g' \ + -e 's/:/;/g' -e 's,\(^\|;\)/\([A-Za-z]\)/,\1\2:/,g' \ + -e 's/;\+/;/g' -e 's/^;//' -e 's/;$$//' -e 's/;/\\\\;/g' + +# Replace "${prefix}" with '%emacs_dir%' (which expands to install +# directory at runtime). +msys_prefix_subst=sed -e 's!\(^\|;\)'"$${prefixpattern}"'\([;/]\|$$\)!\1%emacs_dir%\2!g' + +# Quote Sed special characters (except backslash and newline) with +# a double backslash. +msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g' # The w32 build needs a slightly different editing, and it uses # nt/epaths.nt as the template. +# Use the value of ${locallisppath} supplied by `configure', +# to support the --enable-locallisppath argument. epaths-force-w32: FRC @(w32srcdir=`echo "${srcdir}" | ${msys_to_w32}` ; \ + prefixpattern=`echo '${prefix}' | ${msys_to_w32} | ${msys_sed_sh_escape}` ; \ + locallisppath=`echo '${locallisppath}' | ${msys_lisppath_to_w32} | ${msys_prefix_subst}` ; \ sed < ${srcdir}/nt/epaths.nt > epaths.h.$$$$ \ + -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${locallisppath}"'";' \ -e '/^.*#/s/@VER@/${version}/g' \ -e '/^.*#/s/@CFG@/${configuration}/g' \ -e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \ === modified file 'nt/ChangeLog' --- nt/ChangeLog 2013-06-03 19:06:09 +0000 +++ nt/ChangeLog 2013-06-07 08:08:29 +0000 @@ -1,3 +1,7 @@ +2013-06-07 Richard Copley (tiny change) + + * epaths.nt (PATH_SITELOADSEARCH): Fix commentary. + 2013-06-03 Eli Zaretskii * config.nt: Add HAVE_GFILENOTIFY, HAVE_W32NOTIFY and USE_FILE_NOTIFY. === modified file 'nt/epaths.nt' --- nt/epaths.nt 2013-04-06 13:25:17 +0000 +++ nt/epaths.nt 2013-06-07 08:08:29 +0000 @@ -41,10 +41,10 @@ #define PATH_LOADSEARCH "%emacs_dir%/share/emacs/@VER@/lisp;%emacs_dir%/share/emacs/@VER@/leim" /* Like PATH_LOADSEARCH, but contains the non-standard pieces. - These are the site-lisp directories, typically something like + These are the site-lisp directories. Configure sets this to + ${locallisppath}, which typically defaults to something like: /emacs/VERSION/site-lisp:/emacs/site-lisp - Configure prepends any $locallisppath, as set by the - --enable-locallisppath argument. + but can be overridden by the --enable-locallisppath argument. This is combined with PATH_LOADSEARCH to make the default load-path. If the --no-site-lisp option is used, this piece is excluded. */ === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-07 03:23:57 +0000 +++ src/ChangeLog 2013-06-07 08:08:29 +0000 @@ -1,3 +1,7 @@ +2013-06-07 Richard Copley (tiny change) + + * epaths.in: Fix commentary to PATH_SITELOADSEARCH. + 2013-06-06 Eli Zaretskii * xdisp.c (note_mouse_highlight): When mouse-highlight is off, === modified file 'src/epaths.in' --- src/epaths.in 2013-01-01 09:11:05 +0000 +++ src/epaths.in 2013-06-07 08:08:29 +0000 @@ -30,10 +30,10 @@ /* Like PATH_LOADSEARCH, but contains the non-standard pieces. - These are the site-lisp directories, typically something like + These are the site-lisp directories. Configure sets this to + ${locallisppath}, which typically defaults to something like: /emacs/VERSION/site-lisp:/emacs/site-lisp - Configure prepends any $locallisppath, as set by the - --enable-locallisppath argument. + but can be overridden by the --enable-locallisppath argument. This is combined with PATH_LOADSEARCH to make the default load-path. If the --no-site-lisp option is used, this piece is excluded. */ ------------------------------------------------------------ revno: 112880 committer: Glenn Morris branch nick: trunk timestamp: Thu 2013-06-06 20:41:10 -0700 message: * admin/notes/bzr: Finally got the right locations.conf syntax diff: === modified file 'admin/notes/bzr' --- admin/notes/bzr 2013-06-07 03:19:29 +0000 +++ admin/notes/bzr 2013-06-07 03:41:10 +0000 @@ -356,10 +356,8 @@ branches, to override the server setting (untested; not sure this works), or by adding an entry to ~/.bazaar/locations.conf: -FIXME: Don't do this, it doesn't work right. - - [bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/*] - post_commit_to = False + [bzr+ssh://USERNAME@bzr.savannah.gnu.org/emacs/*/] + post_commit_to = "" You have to use locations.conf rather than bazaar.conf because the latter has a lower priority than branch.conf. ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.