------------------------------------------------------------ revno: 117431 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 21:55:17 -0400 message: ChangeLog fix diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-28 01:52:38 +0000 +++ lisp/ChangeLog 2014-06-28 01:55:17 +0000 @@ -557,7 +557,6 @@ FILENAME. * net/trampver.el: Update release number. ->>>>>>> MERGE-SOURCE 2014-06-15 Stefan Monnier ------------------------------------------------------------ revno: 117430 committer: Stefan Monnier branch nick: trunk timestamp: Fri 2014-06-27 21:52:38 -0400 message: * lisp/progmodes/hideif.el: Use lexical-binding. Fix up cl-lib usage. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-28 01:35:48 +0000 +++ lisp/ChangeLog 2014-06-28 01:52:38 +0000 @@ -1,3 +1,7 @@ +2014-06-28 Stefan Monnier + + * progmodes/hideif.el: Use lexical-binding. Fix up cl-lib usage. + 2014-06-28 K. Handa Fix Bug#17739. === modified file 'lisp/progmodes/hideif.el' --- lisp/progmodes/hideif.el 2014-06-27 08:25:21 +0000 +++ lisp/progmodes/hideif.el 2014-06-28 01:52:38 +0000 @@ -1,4 +1,4 @@ -;;; hideif.el --- hides selected code within ifdef +;;; hideif.el --- hides selected code within ifdef -*- lexical-binding:t -*- ;; Copyright (C) 1988, 1994, 2001-2014 Free Software Foundation, Inc. @@ -550,8 +550,8 @@ (setq tok (cadr tokens)) (if (eq (car tokens) 'hif-lparen) (if (and (hif-if-valid-identifier-p tok) - (eq (caddr tokens) 'hif-rparen)) - (setq tokens (cdddr tokens)) + (eq (cl-caddr tokens) 'hif-rparen)) + (setq tokens (cl-cdddr tokens)) (error "#define followed by non-identifier: %S" tok)) (setq tok (car tokens) tokens (cdr tokens)) @@ -607,9 +607,8 @@ ;; for hif-macro-supply-arguments (let* ((hif-token-list (cdr remains)) (hif-token nil) - (parmlist (mapcar 'hif-expand-token-list - (hif-get-argument-list - tok))) + (parmlist (mapcar #'hif-expand-token-list + (hif-get-argument-list))) (result (hif-expand-token-list (hif-macro-supply-arguments tok parmlist) @@ -618,10 +617,10 @@ result)) ;; Argument list is nil, direct expansion (setq rep (hif-expand-token-list - (caddr rep) ; Macro's token list + (cl-caddr rep) ; Macro's token list tok expand_list)) ;; Replace all remaining references immediately - (setq remains (substitute tok rep remains)) + (setq remains (cl-substitute tok rep remains)) rep) ;; Lookup tok returns an atom rep)) @@ -824,7 +823,7 @@ (hif-place-macro-invocation ident) `(hif-lookup (quote ,ident))))))) -(defun hif-get-argument-list (ident) +(defun hif-get-argument-list () (let ((nest 0) (parmlist nil) ; A "token" list of parameters, will later be parsed (parm nil)) @@ -849,7 +848,7 @@ (nreverse parmlist))) (defun hif-place-macro-invocation (ident) - (let ((parmlist (hif-get-argument-list ident))) + (let ((parmlist (hif-get-argument-list))) `(hif-invoke (quote ,ident) (quote ,parmlist)))) (defun hif-string-concatenation () @@ -861,7 +860,7 @@ (substring hif-token 1)))) ; remove leading '"' result)) -(defun hif-define-macro (parmlist token-body) +(defun hif-define-macro (_parmlist _token-body) "A marker for defined macro with arguments. This macro cannot be evaluated alone without parameters inputed." ;;TODO: input arguments at run time, use minibuffer to query all arguments @@ -1002,8 +1001,8 @@ result))) (defun hif-delimit (lis atom) - (nconc (mapcan (lambda (l) (list l atom)) - (butlast lis)) + (nconc (cl-mapcan (lambda (l) (list l atom)) + (butlast lis)) (last lis))) ;; Perform token replacement: @@ -1018,7 +1017,6 @@ (macro-body (and macro (cadr macro))) actual-count formal-count - actual formal etc) @@ -1055,10 +1053,10 @@ ;; Unlike `subst', `substitute' replace only the top level ;; instead of the whole tree; more importantly, it's not ;; destructive. - (substitute (if (and etc (null formal-parms)) - (hif-delimit actual-parms 'hif-comma) - (car actual-parms)) - formal macro-body)) + (cl-substitute (if (and etc (null formal-parms)) + (hif-delimit actual-parms 'hif-comma) + (car actual-parms)) + formal macro-body)) (setq actual-parms (cdr actual-parms))) ;; Replacement completed, flatten the whole token list @@ -1462,7 +1460,6 @@ (let* ((defining (string= "define" (match-string 2))) (name (and (re-search-forward hif-macroref-regexp max t) (match-string 1))) - (parsed nil) (parmlist (and (match-string 3) ; First arg id found (hif-parse-macro-arglist (match-string 2))))) (if defining @@ -1534,15 +1531,15 @@ (save-excursion (let ((case-fold-search nil) min max) - (goto-char (point-min)) + (goto-char (point-min)) (setf min (point)) - (loop do - (setf max (hif-find-any-ifX)) - (hif-add-new-defines min max) - (if max - (hif-possibly-hide)) - (setf min (point)) - while max)))) + (cl-loop do + (setf max (hif-find-any-ifX)) + (hif-add-new-defines min max) + (if max + (hif-possibly-hide)) + (setf min (point)) + while max)))) ;;===%%SF%% hide-ifdef-hiding (End) === ------------------------------------------------------------ revno: 117429 [merge] committer: K. Handa branch nick: trunk timestamp: Sat 2014-06-28 10:37:35 +0900 message: Fix Bug#17739. * composite.el: Setup composition-function-table for dotted circle. (compose-gstring-for-dotted-circle): New function. * international/characters.el: Add category "^" to all non-spacing characters. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-28 01:26:09 +0000 +++ lisp/ChangeLog 2014-06-28 01:35:48 +0000 @@ -1,3 +1,13 @@ +2014-06-28 K. Handa + + Fix Bug#17739. + + * composite.el: Setup composition-function-table for dotted circle. + (compose-gstring-for-dotted-circle): New function. + + * international/characters.el: Add category "^" to all + non-spacing characters. + 2014-06-28 Glenn Morris * Makefile.in (doit): Remove force rule. @@ -543,6 +553,7 @@ FILENAME. * net/trampver.el: Update release number. +>>>>>>> MERGE-SOURCE 2014-06-15 Stefan Monnier === modified file 'lisp/composite.el' --- lisp/composite.el 2014-01-01 07:43:34 +0000 +++ lisp/composite.el 2014-06-28 01:34:17 +0000 @@ -671,6 +671,49 @@ (setq i (1+ i)))) gstring)))))) +(defun compose-gstring-for-dotted-circle (gstring) + (let* ((dc (lgstring-glyph gstring 0)) ; glyph of dotted-circle + (dc-id (lglyph-code dc)) + (fc (lgstring-glyph gstring 1)) ; glyph of the following char + (fc-id (lglyph-code fc)) + (gstr (and nil (font-shape-gstring gstring)))) + (if (and gstr + (or (= (lgstring-glyph-len gstr) 1) + (and (= (lgstring-glyph-len gstr) 2) + (= (lglyph-to (lgstring-glyph gstr 0)) + (lglyph-to (lgstring-glyph gstr 1)))))) + ;; It seems that font-shape-gstring has composed glyphs. + gstr + ;; Artificially compose the following glyph with the preceding + ;; dotted-circle. + (setq dc (lgstring-glyph gstring 0) + fc (lgstring-glyph gstring 1)) + (let ((dc-width (lglyph-width dc)) + (fc-width (- (lglyph-rbearing fc) (lglyph-lbearing fc))) + (from (lglyph-from dc)) + (to (lglyph-to fc)) + (xoff 0) (yoff 0) (width 0)) + (if (and (< (lglyph-descent fc) 0) + (> (lglyph-ascent dc) (- (lglyph-descent fc)))) + ;; Set YOFF so that the following glyph is put on top of + ;; the dotted-circle. + (setq yoff (- (- (lglyph-descent fc)) (lglyph-ascent dc)))) + (if (> (lglyph-width fc) 0) + (setq xoff (- (lglyph-rbearing fc)))) + (if (< dc-width fc-width) + ;; The following glyph is wider, but we don't know how to + ;; align both glyphs. So, try the easiet method; + ;; i.e. align left edges of the glyphs. + (setq xoff (- xoff (- dc-width) (- (lglyph-lbearing fc ))) + width (- fc-width dc-width))) + (if (or (/= xoff 0) (/= yoff 0) (/= width 0) (/= (lglyph-width fc) 0)) + (lglyph-set-adjustment fc xoff yoff width)) + (lglyph-set-from-to dc from to) + (lglyph-set-from-to fc from to)) + (if (> (lgstring-glyph-len gstring) 2) + (lgstring-set-glyph gstring 2 nil)) + gstring))) + ;; Allow for bootstrapping without uni-*.el. (when unicode-category-table (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic] @@ -679,7 +722,10 @@ #'(lambda (key val) (if (memq val '(Mn Mc Me)) (set-char-table-range composition-function-table key elt))) - unicode-category-table))) + unicode-category-table)) + ;; for dotted-circle + (aset composition-function-table #x25CC + `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))) (defun compose-gstring-for-terminal (gstring) "Compose glyph-string GSTRING for terminal display. === modified file 'lisp/international/characters.el' --- lisp/international/characters.el 2014-06-24 07:15:26 +0000 +++ lisp/international/characters.el 2014-06-28 01:35:48 +0000 @@ -1389,11 +1389,13 @@ (when (setq unicode-category-table (unicode-property-table-internal 'general-category)) (map-char-table #'(lambda (key val) - (if (and val - (or (and (/= (aref (symbol-name val) 0) ?M) - (/= (aref (symbol-name val) 0) ?C)) - (eq val 'Zs))) - (modify-category-entry key ?.))) + (if val + (cond ((or (and (/= (aref (symbol-name val) 0) ?M) + (/= (aref (symbol-name val) 0) ?C)) + (eq val 'Zs)) + (modify-category-entry key ?.)) + ((eq val 'Mn) + (modify-category-entry key ?^))))) unicode-category-table)) (optimize-char-table (standard-category-table)) ------------------------------------------------------------ revno: 117428 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 21:26:09 -0400 message: * lisp/Makefile.in (doit): Remove force rule. (custom-deps, finder-data, autoloads, update-subdirs) (compile-one-process): PHONY targets do not need force rules. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-28 01:16:23 +0000 +++ lisp/ChangeLog 2014-06-28 01:26:09 +0000 @@ -1,5 +1,9 @@ 2014-06-28 Glenn Morris + * Makefile.in (doit): Remove force rule. + (custom-deps, finder-data, autoloads, update-subdirs) + (compile-one-process): PHONY targets do not need force rules. + * Makefile.in (compile-main, compile, compile-always): No need to explicitly pass variables to ourself in recursive calls. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2014-06-28 01:16:23 +0000 +++ lisp/Makefile.in 2014-06-28 01:26:09 +0000 @@ -149,9 +149,7 @@ # we add them here to make sure they get built. all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el -doit: - -.PHONY: all doit custom-deps finder-data autoloads update-subdirs +.PHONY: all custom-deps finder-data autoloads update-subdirs # custom-deps and finder-data both used to scan _all_ the *.el files. # This could lead to problems in parallel builds if automatically @@ -169,7 +167,7 @@ # (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp). $(lisp)/cus-load.el: $(MAKE) custom-deps -custom-deps: doit +custom-deps: $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l cus-dep \ @@ -178,7 +176,7 @@ $(lisp)/finder-inf.el: $(MAKE) finder-data -finder-data: doit +finder-data: $(setwins_finder); \ echo Directories: $$wins; \ $(emacs) -l finder \ @@ -192,7 +190,7 @@ # Note that we set no-update-autoloads in _generated_ leim files. # If you want to allow autoloads in such files, remove that, # and make this depend on leim. -autoloads: $(LOADDEFS) doit +autoloads: $(LOADDEFS) cd $(lisp) && chmod +w $(AUTOGEN_VCS) $(setwins_almost); \ echo Directories: $$wins; \ @@ -216,7 +214,7 @@ # we know that if we have an emacs executable, we also have a subdirs.el. $(lisp)/subdirs.el: $(MAKE) update-subdirs -update-subdirs: doit +update-subdirs: $(setwins_for_subdirs); \ for file in $$wins; do \ $(srcdir)/../build-aux/update-subdirs $$file; \ @@ -369,7 +367,7 @@ # Compile all Lisp files. This is like `compile' but compiles files # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. -compile-always: doit +compile-always: cd $(lisp) && rm -f *.elc */*.elc */*/*.elc */*/*/*.elc $(MAKE) compile @@ -402,7 +400,7 @@ # There is no reason to use this rule unless you only have a single # core and CPU time is an issue. .PHONY: compile-one-process -compile-one-process: doit $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc +compile-one-process: $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc $(emacs) $(BYTE_COMPILE_FLAGS) \ --eval "(batch-byte-recompile-directory 0)" $(lisp) ------------------------------------------------------------ revno: 117427 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 21:16:23 -0400 message: lisp/Makefile tiny simplification * lisp/Makefile.in (compile-main, compile, compile-always): No need to explicitly pass variables to ourself in recursive calls. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-28 01:10:27 +0000 +++ lisp/ChangeLog 2014-06-28 01:16:23 +0000 @@ -1,3 +1,8 @@ +2014-06-28 Glenn Morris + + * Makefile.in (compile-main, compile, compile-always): + No need to explicitly pass variables to ourself in recursive calls. + 2014-06-28 Stefan Monnier * files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2014-06-26 21:51:25 +0000 +++ lisp/Makefile.in 2014-06-28 01:16:23 +0000 @@ -308,7 +308,7 @@ compile-first: $(COMPILE_FIRST) # In `compile-main' we could directly do -# ... | xargs $(MAKE) EMACS="$(EMACS)" +# ... | xargs $(MAKE) # and it works, but it generates a lot of messages like # make[2]: gnus/gnus-mlspl.elc is up to date. # so instead, we use "xargs echo" to split the list of file into manageable @@ -332,7 +332,7 @@ echo "$${el}c"; \ done | xargs $(XARGS_LIMIT) echo) | \ while read chunk; do \ - $(MAKE) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; \ + $(MAKE) compile-targets TARGETS="$$chunk"; \ done .PHONY: compile-clean @@ -363,17 +363,15 @@ # date. Some .el files don't get compiled because they set the # local variable no-byte-compile. # Calling make recursively because suffix rule cannot have prerequisites. -# Explicitly pass EMACS (sometimes ../src/bootstrap-emacs) to those -# sub-makes that run rules that use it, for the sake of some non-GNU makes. compile: $(LOADDEFS) autoloads compile-first - $(MAKE) compile-main EMACS="$(EMACS)" + $(MAKE) compile-main # Compile all Lisp files. This is like `compile' but compiles files # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. compile-always: doit cd $(lisp) && rm -f *.elc */*.elc */*/*.elc */*/*/*.elc - $(MAKE) compile EMACS="$(EMACS)" + $(MAKE) compile .PHONY: backup-compiled-files compile-after-backup ------------------------------------------------------------ revno: 117426 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 21:11:04 -0400 message: Add short test aliases that always re-run the tests * test/automated/Makefile.in (TESTS): New list of short PHONY aliases. (test_template): New definition. Apply to TESTS. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2014-06-27 16:27:08 +0000 +++ test/ChangeLog 2014-06-28 01:11:04 +0000 @@ -1,3 +1,8 @@ +2014-06-28 Glenn Morris + + * automated/Makefile.in (TESTS): New list of short PHONY aliases. + (test_template): New definition. Apply to TESTS. + 2014-06-27 Glenn Morris * automated/Makefile.in (check-maybe): Rename from check. === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2014-06-27 16:27:08 +0000 +++ test/automated/Makefile.in 2014-06-28 01:11:04 +0000 @@ -17,6 +17,16 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see . +### Commentary: + +## Some targets: +## check: re-run all tests +## check-maybe: run all tests whose .log file needs updating +## filename.log: run tests from filename.el(c) if .log file needs updating +## filename: re-run tests from filename.el(c) + +### Code: + SHELL = @SHELL@ srcdir = @srcdir@ @@ -84,11 +94,24 @@ ELFILES = $(wildcard ${srcdir}/*.el) LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES})) +TESTS = ${LOGFILES:.log=} ## If we have to interrupt a hanging test, preserve the log so we can ## see what the problem was. .PRECIOUS: %.log +.PHONY: ${TESTS} + +## The short aliases that always re-run the tests. +define test_template +$(1): + @test ! -f $(1).log || mv $(1).log $(1).log~ + @${MAKE} $(1).log +endef + +$(foreach test,${TESTS},$(eval $(call test_template,${test}))) + + ## Re-run all the tests every time. check: -@for f in *.log; do test ! -f $$f || mv $$f $$f~; done ------------------------------------------------------------ revno: 117425 committer: Stefan Monnier branch nick: trunk timestamp: Fri 2014-06-27 21:10:27 -0400 message: * lisp/files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-27 17:51:00 +0000 +++ lisp/ChangeLog 2014-06-28 01:10:27 +0000 @@ -1,3 +1,7 @@ +2014-06-28 Stefan Monnier + + * files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly. + 2014-06-26 Glenn Morris * Makefile.in (update-authors): Update for moved authors.el. @@ -15,8 +19,8 @@ 2014-06-26 Daiki Ueno - * emacs-lisp/package.el (package--check-signature): If - package-check-signature is allow-unsigned, don't signal error when + * emacs-lisp/package.el (package--check-signature): + If package-check-signature is allow-unsigned, don't signal error when we can't verify signature because of missing public key (bug#17625). @@ -34,8 +38,8 @@ * ruler-mode.el (ruler-mode-mouse-add-tab-stop) (ruler-mode-ruler): Fix to work with nil tab-stop-list. - * progmodes/asm-mode.el (asm-calculate-indentation): Use - indent-next-tab-stop. + * progmodes/asm-mode.el (asm-calculate-indentation): + Use indent-next-tab-stop. * indent.el (indent-accumulate-tab-stops): New function. @@ -114,8 +118,8 @@ (hif-parse-macro-arglist): Mostly new functions for supporting argumented macro expansion. (hif-string-concatenation, hif-stringify, hif-token-concat) - (hif-token-stringification, hif-token-concatenation): Stringification - and concatenation. + (hif-token-stringification, hif-token-concatenation): + Stringification and concatenation. (hif-find-next-relevant): Fix comments. (hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for some cases involving #elif. === modified file 'lisp/files.el' --- lisp/files.el 2014-06-25 10:36:51 +0000 +++ lisp/files.el 2014-06-28 01:10:27 +0000 @@ -1382,14 +1382,16 @@ This macro actually adds an auxiliary function that calls FUN, rather than FUN itself, to `minibuffer-setup-hook'." (declare (indent 1) (debug t)) - (let ((hook (make-symbol "setup-hook"))) - `(let (,hook) + (let ((hook (make-symbol "setup-hook")) + (funsym (make-symbol "fun"))) + `(let ((,funsym ,fun) + ,hook) (setq ,hook (lambda () ;; Clear out this hook so it does not interfere ;; with any recursive minibuffer usage. (remove-hook 'minibuffer-setup-hook ,hook) - (funcall ,fun))) + (funcall ,funsym))) (unwind-protect (progn (add-hook 'minibuffer-setup-hook ,hook) ------------------------------------------------------------ revno: 117424 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 13:51:00 -0400 message: ChangeLog fix: relocate entry to correct position diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-27 08:25:21 +0000 +++ lisp/ChangeLog 2014-06-27 17:51:00 +0000 @@ -1,29 +1,3 @@ -2014-06-26 Luke Lee - - * lisp/progmodes/hideif.el (hif-string-to-number): Fix return value bug. - (hif-simple-token-only, hif-tokenize): Commented in detail mainly for - performance enhancements. - (hif-parse-if-exp): Rename to `hif-parse-exp'. Enhanced for macro - expansion. - (hif-factor, hif-string-concatenation, intern-safe): Support string - concatenation and argumented macro expansion. - (hif-if-valid-identifier-p, hif-define-operator, hif-flatten) - (hif-expand-token-list, hif-get-argument-list, hif-define-macro) - (hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize) - (hif-canonicalize-tokens, hif-place-macro-invocation) - (hif-parse-macro-arglist): Mostly new functions for supporting - argumented macro expansion. - (hif-string-concatenation, hif-stringify, hif-token-concat) - (hif-token-stringification, hif-token-concatenation): Stringification - and concatenation. - (hif-find-next-relevant): Fix comments. - (hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for - some cases involving #elif. - (hif-find-define, hif-add-new-defines): New functions for automatically - scanning of defined symbols. - (hide-ifdef-guts): Fix for defined symbol auto scanning. - (hide-ifdef-undef): Fix behavior to match CPP. - 2014-06-26 Glenn Morris * Makefile.in (update-authors): Update for moved authors.el. @@ -124,6 +98,32 @@ * emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): New. +2014-06-26 Luke Lee + + * progmodes/hideif.el (hif-string-to-number): Fix return value bug. + (hif-simple-token-only, hif-tokenize): Comment in detail mainly for + performance enhancements. + (hif-parse-if-exp): Rename to `hif-parse-exp'. Enhance for macro + expansion. + (hif-factor, hif-string-concatenation, intern-safe): Support string + concatenation and argumented macro expansion. + (hif-if-valid-identifier-p, hif-define-operator, hif-flatten) + (hif-expand-token-list, hif-get-argument-list, hif-define-macro) + (hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize) + (hif-canonicalize-tokens, hif-place-macro-invocation) + (hif-parse-macro-arglist): Mostly new functions for supporting + argumented macro expansion. + (hif-string-concatenation, hif-stringify, hif-token-concat) + (hif-token-stringification, hif-token-concatenation): Stringification + and concatenation. + (hif-find-next-relevant): Fix comments. + (hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for + some cases involving #elif. + (hif-find-define, hif-add-new-defines): New functions for automatically + scanning of defined symbols. + (hide-ifdef-guts): Fix for defined symbol auto scanning. + (hide-ifdef-undef): Fix behavior to match CPP. + 2014-06-25 Glenn Morris * Makefile.in ($(lisp)/progmodes/cc-defs.elc) ------------------------------------------------------------ revno: 117423 committer: Glenn Morris branch nick: trunk timestamp: Fri 2014-06-27 09:27:08 -0700 message: Have `make check' re-run all the tests, every time * test/automated/Makefile.in (check-maybe): Rename from check. (check): Re-run all the tests, every time. (clean, mostlyclean): Also delete *.log~. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2014-06-26 07:34:09 +0000 +++ test/ChangeLog 2014-06-27 16:27:08 +0000 @@ -1,3 +1,9 @@ +2014-06-27 Glenn Morris + + * automated/Makefile.in (check-maybe): Rename from check. + (check): Re-run all the tests, every time. + (clean, mostlyclean): Also delete *.log~. + 2014-06-26 Glenn Morris * automated/package-x-test.el: Do not mess with load-path. === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2014-06-26 07:32:16 +0000 +++ test/automated/Makefile.in 2014-06-27 16:27:08 +0000 @@ -89,13 +89,20 @@ ## see what the problem was. .PRECIOUS: %.log -check: ${LOGFILES} +## Re-run all the tests every time. +check: + -@for f in *.log; do test ! -f $$f || mv $$f $$f~; done + @${MAKE} check-maybe + +## Only re-run tests whose .log is older than the test. +.PHONY: check-maybe +check-maybe: ${LOGFILES} $(emacs) -l ert -f ert-summarize-tests-batch-and-exit $^ .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean clean mostlyclean: - -rm -f *.log + -rm -f *.log *.log~ bootstrap-clean: clean -rm -f ${srcdir}/*.elc ------------------------------------------------------------ revno: 117422 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2014-06-27 11:31:20 +0300 message: src/w32heap.c: Minor formatting and whitespace changes. diff: === modified file 'src/w32heap.c' --- src/w32heap.c 2014-06-04 12:00:34 +0000 +++ src/w32heap.c 2014-06-27 08:31:20 +0000 @@ -200,12 +200,11 @@ as requests arrive. */ *CommitAddress = data_region_base + committed; committed += *CommitSize; + /* Check that the private heap area does not overlap the big chunks area. */ if (((unsigned char *)(*CommitAddress)) + *CommitSize >= bc_limit) { - /* Check that the private heap area does not overlap the big - chunks area. */ - fprintf(stderr, - "dumped_data_commit: memory exhausted.\nEnlarge dumped_data[]!\n"); + fprintf (stderr, + "dumped_data_commit: memory exhausted.\nEnlarge dumped_data[]!\n"); exit (-1); } return 0; @@ -243,18 +242,20 @@ data_region_end = data_region_base; /* Create the private heap. */ - heap = HeapCreate(0, 0, 0); + heap = HeapCreate (0, 0, 0); #ifndef _W64 /* Set the low-fragmentation heap for OS before Vista. */ - HMODULE hm_kernel32dll = LoadLibrary("kernel32.dll"); - HeapSetInformation_Proc s_pfn_Heap_Set_Information = (HeapSetInformation_Proc) GetProcAddress(hm_kernel32dll, "HeapSetInformation"); + HMODULE hm_kernel32dll = LoadLibrary ("kernel32.dll"); + HeapSetInformation_Proc s_pfn_Heap_Set_Information = (HeapSetInformation_Proc) GetProcAddress (hm_kernel32dll, "HeapSetInformation"); if (s_pfn_Heap_Set_Information != NULL) - if (s_pfn_Heap_Set_Information ((PVOID) heap, - HeapCompatibilityInformation, - &enable_lfh, sizeof(enable_lfh)) == 0) - DebPrint (("Enabling Low Fragmentation Heap failed: error %ld\n", - GetLastError ())); + { + if (s_pfn_Heap_Set_Information ((PVOID) heap, + HeapCompatibilityInformation, + &enable_lfh, sizeof(enable_lfh)) == 0) + DebPrint (("Enabling Low Fragmentation Heap failed: error %ld\n", + GetLastError ())); + } #endif the_malloc_fn = malloc_after_dump; @@ -271,7 +272,7 @@ = (RtlCreateHeap_Proc) GetProcAddress (hm_ntdll, "RtlCreateHeap"); /* Specific parameters for the private heap. */ RTL_HEAP_PARAMETERS params; - ZeroMemory(¶ms, sizeof(params)); + ZeroMemory (¶ms, sizeof(params)); params.Length = sizeof(RTL_HEAP_PARAMETERS); data_region_base = (unsigned char *)ROUND_UP (dumped_data, 0x1000); @@ -284,6 +285,11 @@ params.CommitRoutine = &dumped_data_commit; /* Create the private heap. */ + if (s_pfn_Rtl_Create_Heap == NULL) + { + fprintf (stderr, "Cannot build Emacs without RtlCreateHeap being available; exiting.\n"); + exit (-1); + } heap = s_pfn_Rtl_Create_Heap (0, data_region_base, 0, 0, NULL, ¶ms); the_malloc_fn = malloc_before_dump; the_realloc_fn = realloc_before_dump; @@ -358,8 +364,8 @@ array. */ if (blocks_number >= MAX_BLOCKS) { - fprintf(stderr, - "malloc_before_dump: no more big chunks available.\nEnlarge MAX_BLOCKS!\n"); + fprintf (stderr, + "malloc_before_dump: no more big chunks available.\nEnlarge MAX_BLOCKS!\n"); exit (-1); } bc_limit -= size; @@ -369,11 +375,11 @@ blocks[blocks_number].size = size; blocks[blocks_number].occupied = TRUE; blocks_number++; + /* Check that areas do not overlap. */ if (bc_limit < dumped_data + committed) { - /* Check that areas do not overlap. */ - fprintf(stderr, - "malloc_before_dump: memory exhausted.\nEnlarge dumped_data[]!\n"); + fprintf (stderr, + "malloc_before_dump: memory exhausted.\nEnlarge dumped_data[]!\n"); exit (-1); } } ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.