commit a44d423a5aaf97790ce95350a38590fbb17b3220 (HEAD, refs/remotes/origin/master) Author: Glenn Morris Date: Sun Apr 4 17:24:27 2021 -0700 * doc/misc/Makefile.in (echo-sources): Make it not the first target. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index ae960fe769..7982c0dc5a 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -100,10 +100,6 @@ texi_sources = $(addsuffix .texi,${TARGETS}) texi_notgen = $(filter-out $(notdir ${TEXI_FROM_ORG}),${texi_sources}) texi_and_org = $(notdir ${ORG_SRC}) ${texi_notgen} SOURCES = $(sort ${texi_and_org}) -.PHONY: echo-sources -## Used by the top-level Makefile. -echo-sources: - @echo ${SOURCES} DVI_TARGETS = $(TARGETS:=.dvi) HTML_TARGETS = $(TARGETS:=.html) @@ -122,7 +118,7 @@ ENVADD = $(AM_V_GEN)TEXINPUTS="$(srcdir):$(emacsdir):$(TEXINPUTS)" \ gfdl = ${srcdir}/doclicense.texi style = ${emacsdir}/docstyle.texi -.PHONY: info dvi html pdf ps echo-info $(INFO_TARGETS) +.PHONY: info dvi html pdf ps echo-info echo-sources $(INFO_TARGETS) ## Prevent implicit rule triggering for foo.info. .SUFFIXES: @@ -138,6 +134,9 @@ echo-info: @echo "$(INFO_INSTALL) " | \ sed -e 's|[^ ]*/||g' -e 's/\.info//g' -e "s/ */.info /g" +echo-sources: + @echo ${SOURCES} + dvi: $(DVI_TARGETS) html: $(HTML_TARGETS) commit a86edac26b6648c19cb8e278125978b31f3a093a Author: Glenn Morris Date: Sun Apr 4 17:11:47 2021 -0700 Regenerate texi-from-org if ox-texinfo.el changes * doc/misc/Makefile.in (top_srcdir): New, set by configure. (emacs): Set load-prefer-newer. (org_template): Make output depend on ox-texinfo.el. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 63d4bf0337..ae960fe769 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -22,7 +22,7 @@ SHELL = @SHELL@ # Where to find the source code. $(srcdir) will be the doc/misc subdirectory # of the source tree. This is set by configure's '--srcdir' option. srcdir=@srcdir@ - +top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ ## Where the output files go. @@ -235,14 +235,14 @@ ${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi abs_top_builddir = @abs_top_builddir@ EMACS = ${abs_top_builddir}/src/emacs -emacs = "${EMACS}" -batch --no-site-file --no-site-lisp +emacs = "${EMACS}" -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' # Generated .texi files go in srcdir so they can be included in the # release tarfile along with the others. # Work in srcdir (and use abs_top_builddir) so that +setupfile and # things like org-setup's "version" macro work. Sigh. define org_template - $(1:.org=.texi): $(1) + $(1:.org=.texi): $(1) ${top_srcdir}/lisp/org/ox-texinfo.el $${AM_V_GEN}cd "$${srcdir}" && $${emacs} -l ox-texinfo \ -f org-texinfo-export-to-texinfo-batch $$(notdir $$<) $$(notdir $$@) endef commit 9cb3db0bade2ea43bad9cadc7864887c09bc7cd0 Author: Glenn Morris Date: Sun Apr 4 16:57:55 2021 -0700 Regenerate semantic grammars if the generating code changes * admin/grammars/Makefile.in (emacs): Set load-prefer-newer. (grammar_bovine, grammar_wisent): New variables. (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el) (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el) (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): Depend on the source file for the generating function. * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1): * lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1): Force generation of the output file. The previous "is the output newer than the input" failed to account for changes in the generation code itself. Force so we can let make figure it out. diff --git a/admin/grammars/Makefile.in b/admin/grammars/Makefile.in index 1573eb3bde..35ce55461f 100644 --- a/admin/grammars/Makefile.in +++ b/admin/grammars/Makefile.in @@ -34,7 +34,7 @@ top_builddir = @top_builddir@ unexport EMACSDATA EMACSDOC EMACSPATH EMACS = ${top_builddir}/src/emacs -emacs = EMACSLOADPATH= "${EMACS}" -batch --no-site-file --no-site-lisp +emacs = EMACSLOADPATH= "${EMACS}" -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' make_bovine = ${emacs} -l semantic/bovine/grammar -f bovine-batch-make-parser make_wisent = ${emacs} -l semantic/wisent/grammar -f wisent-batch-make-parser @@ -43,6 +43,9 @@ cedetdir = ${top_srcdir}/lisp/cedet bovinedir = ${cedetdir}/semantic/bovine wisentdir = ${cedetdir}/semantic/wisent +grammar_bovine = ${bovinedir}/grammar.el +grammar_wisent = ${wisentdir}/grammar.el + BOVINE = \ ${bovinedir}/c-by.el \ ${bovinedir}/make-by.el \ @@ -68,36 +71,33 @@ bovine: ${BOVINE} wisent: ${WISENT} -## TODO add dependencies on semantic/{bovine,wisent}/grammar.el - ## c-by.el, make-by.el. -${bovinedir}/%-by.el: ${srcdir}/%.by +${bovinedir}/%-by.el: ${srcdir}/%.by ${grammar_bovine} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_bovine} -o "$@" $< -${bovinedir}/scm-by.el: ${srcdir}/scheme.by +${bovinedir}/scm-by.el: ${srcdir}/scheme.by ${grammar_bovine} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_bovine} -o "$@" $< ## grammar-wy.el -${cedetdir}/semantic/%-wy.el: ${srcdir}/%.wy +${cedetdir}/semantic/%-wy.el: ${srcdir}/%.wy ${grammar_wisent} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_wisent} -o "$@" $< ## js-wy.el, python-wy.el -${wisentdir}/%-wy.el: ${srcdir}/%.wy +${wisentdir}/%-wy.el: ${srcdir}/%.wy ${grammar_wisent} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_wisent} -o "$@" $< -${wisentdir}/javat-wy.el: ${srcdir}/java-tags.wy +${wisentdir}/javat-wy.el: ${srcdir}/java-tags.wy ${grammar_wisent} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_wisent} -o "$@" $< -${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy +${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy ${grammar_wisent} $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" $(AM_V_at)${make_wisent} -o "$@" $< - .PHONY: distclean bootstrap-clean maintainer-clean extraclean gen-clean distclean: diff --git a/lisp/cedet/semantic/bovine/grammar.el b/lisp/cedet/semantic/bovine/grammar.el index a5b9873445..a2717d711f 100644 --- a/lisp/cedet/semantic/bovine/grammar.el +++ b/lisp/cedet/semantic/bovine/grammar.el @@ -475,7 +475,7 @@ Menu items are appended to the common grammar menu.") (with-current-buffer (find-file-noselect infile) (setq infile buffer-file-name) (if outdir (setq default-directory outdir)) - (semantic-grammar-create-package nil t)) + (semantic-grammar-create-package t t)) (error (message "%s" (error-message-string err)) nil))) lang filename copyright-end) (when (and packagename diff --git a/lisp/cedet/semantic/wisent/grammar.el b/lisp/cedet/semantic/wisent/grammar.el index 465d472003..c5e4554082 100644 --- a/lisp/cedet/semantic/wisent/grammar.el +++ b/lisp/cedet/semantic/wisent/grammar.el @@ -477,7 +477,7 @@ Menu items are appended to the common grammar menu.") (condition-case err (with-current-buffer (find-file-noselect infile) (if outdir (setq default-directory outdir)) - (semantic-grammar-create-package nil t)) + (semantic-grammar-create-package t t)) (error (message "%s" (error-message-string err)) nil))) output-data) (when (setq output-data (assoc packagename wisent-make-parsers--parser-file-name)) commit 258a17855becd8ab914a9bcf063e43801e704781 Author: Harald Jörg Date: Sun Apr 4 22:19:01 2021 +0200 cperl-mode: Don't reposition the window when writing messages * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid printing messages while point is off-screen (Bug#47549). diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 7612f8d284..7878e91096 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -3608,7 +3608,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ;; 1+6+2+1+1+6+1+1+1=20 extra () before this: "\\|" "\\\\\\(['`\"($]\\)") ; BACKWACKED something-hairy - "")))) + ""))) + warning-message) (unwind-protect (progn (save-excursion @@ -3671,7 +3672,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (looking-at "\\(cut\\|end\\)\\>")) (if (or (nth 3 state) (nth 4 state) ignore-max) nil ; Doing a chunk only - (message "=cut is not preceded by a POD section") + (setq warning-message "=cut is not preceded by a POD section") (or (car err-l) (setcar err-l (point)))) (beginning-of-line) @@ -3686,7 +3687,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (goto-char b) (if (re-search-forward "\n=\\(cut\\|end\\)\\>" stop-point 'toend) (progn - (message "=cut is not preceded by an empty line") + (setq warning-message "=cut is not preceded by an empty line") (setq b1 t) (or (car err-l) (setcar err-l b)))))) (beginning-of-line 2) ; An empty line after =cut is not POD! @@ -3829,7 +3830,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (progn ; Pretend we matched at the end (goto-char (point-max)) (re-search-forward "\\'") - (message "End of here-document `%s' not found." tag) + (setq warning-message + (format "End of here-document `%s' not found." tag)) (or (car err-l) (setcar err-l b)))) (if cperl-pod-here-fontify (progn @@ -3906,7 +3908,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', 'face font-lock-string-face) (cperl-commentify (point) (+ (point) 2) nil) (cperl-put-do-not-fontify (point) (+ (point) 2) t)) - (message "End of format `%s' not found." name) + (setq warning-message + (format "End of format `%s' not found." name)) (or (car err-l) (setcar err-l b))) (forward-line) (if (> (point) max) @@ -4426,8 +4429,9 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', REx-subgr-end argument) ; continue (setq argument nil))) (and argument - (message "Couldn't find end of charclass in a REx, pos=%s" - REx-subgr-start)) + (setq warning-message + (format "Couldn't find end of charclass in a REx, pos=%s" + REx-subgr-start))) (setq argument (1- (point))) (goto-char REx-subgr-end) (cperl-highlight-charclass @@ -4483,7 +4487,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (setq qtag "Can't find })"))) (progn (goto-char (1- e)) - (message "%s" qtag)) + (setq warning-message + (format "%s" qtag))) (cperl-postpone-fontification (1- tag) (1- (point)) 'face font-lock-variable-name-face) @@ -4512,9 +4517,9 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ;; (1- e) 'toend) (search-forward ")" (1- e) 'toend) ;;) - (message - "Couldn't find end of (?#...)-comment in a REx, pos=%s" - REx-subgr-start)))) + (setq warning-message + (format "Couldn't find end of (?#...)-comment in a REx, pos=%s" + REx-subgr-start))))) (if (>= (point) e) (goto-char (1- e))) (cond @@ -4592,8 +4597,8 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', (if (> (point) stop-point) (progn (if end - (message "Garbage after __END__/__DATA__ ignored") - (message "Unbalanced syntax found while scanning") + (setq warning-message "Garbage after __END__/__DATA__ ignored") + (setq warning-message "Unbalanced syntax found while scanning") (or (car err-l) (setcar err-l b))) (goto-char stop-point)))) (setq cperl-syntax-state (cons state-point state) @@ -4612,6 +4617,7 @@ the sections using `cperl-pod-head-face', `cperl-pod-face', ;; cperl-mode-syntax-table. ;; (set-syntax-table cperl-mode-syntax-table) ) + (when warning-message (message warning-message)) (list (car err-l) overshoot))) (defun cperl-find-pods-heres-region (min max) commit 3ad98bbae793e8a69f37785737c188d9b489897e Author: Lars Ingebrigtsen Date: Sun Apr 4 21:47:38 2021 +0200 Clarify the doc string of insert-image * lisp/image.el (insert-image): Mention the effect of a whitespace image (bug#47240). diff --git a/lisp/image.el b/lisp/image.el index b802c1c906..610d020aab 100644 --- a/lisp/image.el +++ b/lisp/image.el @@ -603,12 +603,16 @@ means display it in the right marginal area." (defun insert-image (image &optional string area slice) "Insert IMAGE into current buffer at point. IMAGE is displayed by inserting STRING into the current buffer -with a `display' property whose value is the image. STRING -defaults to a single space if you omit it. +with a `display' property whose value is the image. + +STRING defaults to a single space if you omit it, which means +that the inserted image will behave as whitespace syntactically. + AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means display it in the left marginal area, a value of `right-margin' means display it in the right marginal area. + SLICE specifies slice of IMAGE to insert. SLICE nil or omitted means insert whole image. SLICE is a list (X Y WIDTH HEIGHT) specifying the X and Y positions and WIDTH and HEIGHT of image area commit c967f55a01c54c60802d1f5dff47f54541d6157a Author: Lars Ingebrigtsen Date: Sun Apr 4 21:35:56 2021 +0200 Work around issue with (setq Man-notify-method 'aggressive) * lisp/man.el (Man-bgproc-sentinel): Check that the window still exists before trying to select it (bug#38164). diff --git a/lisp/man.el b/lisp/man.el index abb9bbad8f..9b941a2b3d 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -1503,7 +1503,9 @@ manpage command." (quit-restore-window (get-buffer-window Man-buffer t) 'kill) ;; Ensure that we end up in the correct window. - (select-window (old-selected-window))) + (let ((old-window (old-selected-window))) + (when (window-live-p old-window) + (select-window old-window)))) (kill-buffer Man-buffer))) (when message commit dd1aa7bc4ca6c1df1713ccac7c66e681d8444c21 Author: Glenn Morris Date: Sun Apr 4 09:19:24 2021 -0700 Make maintainer-clean delete generated files, as per standards These are generated files that were once kept in the repository. When they were removed from the repository, as a half-way measure they were only deleted by "extraclean", but this was never necessary and was not a proper use of that rule. * admin/charsets/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * admin/grammars/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * admin/unidata/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * leim/Makefile.in (gen-clean): New phony target. (maintainer-clean): Delete generated files. * GNUmakefile: Doc fix. diff --git a/GNUmakefile b/GNUmakefile index 0e01b808a0..5155487de2 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -50,8 +50,8 @@ help: @echo "make distclean -- delete all build and configuration files," @echo " leave only files included in source distribution" @echo "make maintainer-clean -- delete almost everything that can be regenerated" - @echo "make extraclean -- like maintainer-clean, and also delete all generated" - @echo " files, backup files and autosave files" + @echo "make extraclean -- like maintainer-clean, and also delete" + @echo " backup and autosave files" @echo "make bootstrap -- delete all compiled files to force a new bootstrap" @echo " from a clean slate, then build in the normal way" @echo "make uninstall -- remove files installed by 'make install'" diff --git a/Makefile.in b/Makefile.in index f3ba50c55e..638548370c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -48,8 +48,6 @@ # # make extraclean # Still more severe - delete backup and autosave files, too. -# Also generated files that do not normally change and can be slow -# to rebuild (eg leim/ja-dic). # # make bootstrap # Removes all the compiled files to force a new bootstrap from a diff --git a/admin/charsets/Makefile.in b/admin/charsets/Makefile.in index 1fe029984b..00424843bc 100644 --- a/admin/charsets/Makefile.in +++ b/admin/charsets/Makefile.in @@ -297,17 +297,19 @@ ${charsetdir}/%.map: ${GLIBC_CHARMAPS}/%.gz ${mapconv} ${compact} ${AM_V_GEN}${run_mapconv} $< '/^<.*[ ]\/x/' GLIBC-1 ${compact} > $@ -.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean +.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean gen-clean clean: +## IMO this should also run gen-clean. bootstrap-clean: clean distclean: clean rm -f Makefile -maintainer-clean: distclean - -## Do not remove these files, even in a bootstrap. They rarely change. -extraclean: +gen-clean: rm -f ${CHARSETS} ${SED_SCRIPT} ${TRANS_TABLE} ${srcdir}/charsets.stamp + +maintainer-clean: gen-clean distclean + +extraclean: maintainer-clean diff --git a/admin/grammars/Makefile.in b/admin/grammars/Makefile.in index aa09d9edf9..1573eb3bde 100644 --- a/admin/grammars/Makefile.in +++ b/admin/grammars/Makefile.in @@ -51,7 +51,7 @@ BOVINE = \ ## FIXME Should include this one too: ## ${cedetdir}/semantic/grammar-wy.el ## but semantic/grammar.el (which is what we use to generate grammar-wy.el) -## requires it! +## requires it! https://debbugs.gnu.org/16008 WISENT = \ ${wisentdir}/javat-wy.el \ ${wisentdir}/js-wy.el \ @@ -68,6 +68,8 @@ bovine: ${BOVINE} wisent: ${WISENT} +## TODO add dependencies on semantic/{bovine,wisent}/grammar.el + ## c-by.el, make-by.el. ${bovinedir}/%-by.el: ${srcdir}/%.by $(AM_V_GEN)[ ! -f "$@" ] || chmod +w "$@" @@ -96,19 +98,20 @@ ${cedetdir}/srecode/srt-wy.el: ${srcdir}/srecode-template.wy $(AM_V_at)${make_wisent} -o "$@" $< -.PHONY: distclean bootstrap-clean maintainer-clean extraclean +.PHONY: distclean bootstrap-clean maintainer-clean extraclean gen-clean distclean: rm -f Makefile -## Perhaps this should do what extraclean (qv) does. +## IMO this should run gen-clean. bootstrap-clean: -maintainer-clean: distclean - -## We do not normally delete the generated files, even in bootstrap. -## Creating them does not take long, so we could easily change this. -extraclean: +gen-clean: rm -f ${ALL} +maintainer-clean: gen-clean distclean + +extraclean: maintainer-clean + + # Makefile.in ends here diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in index 183569fb9b..b7a927d191 100644 --- a/admin/unidata/Makefile.in +++ b/admin/unidata/Makefile.in @@ -85,26 +85,26 @@ ${unidir}/charscript.el: ${srcdir}/Blocks.txt ${blocks} $(AM_V_GEN)$(AWK) -f ${blocks} < $< > $@ -.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean +.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean gen-clean clean: rm -f ${srcdir}/*.elc unidata.txt +## IMO this should also run gen-clean. bootstrap-clean: clean distclean: clean rm -f Makefile -maintainer-clean: distclean - -## Do not remove these files, even in a bootstrap, because they rarely -## change and it slows down bootstrap (a tiny bit). -## Cf leim/ja-dic (which is much slower). - ## macuvs.h is a generated file, but it's also checked in because ## macOS builds would need to do a headless bootstrap without it, ## which is currently awkward. To avoid changing checked-in files ## from a make target, we don't delete it here. -extraclean: distclean +gen-clean: rm -f ${unidir}/charscript.el* rm -f ${unifiles} ${unidir}/charprop.el +## ref: https://lists.gnu.org/r/emacs-devel/2013-11/msg01029.html + +maintainer-clean: gen-clean distclean + +extraclean: maintainer-clean diff --git a/leim/Makefile.in b/leim/Makefile.in index c2f9cf5ab5..2646abcfff 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in @@ -137,19 +137,23 @@ ${srcdir}/../lisp/language/pinyin.el: ${srcdir}/MISC-DIC/pinyin.map $(AM_V_GEN)${RUN_EMACS} -l titdic-cnv -f pinyin-convert $< $@ -.PHONY: bootstrap-clean distclean maintainer-clean extraclean +.PHONY: bootstrap-clean distclean maintainer-clean extraclean gen-clean +## Perhaps this should run gen-clean. bootstrap-clean: rm -f ${TIT_MISC} ${leimdir}/leim-list.el distclean: rm -f Makefile -maintainer-clean: distclean bootstrap-clean +maintainer-clean: gen-clean distclean -## We do not delete ja-dic, even in a bootstrap, because it rarely -## changes and is slow to regenerate. -extraclean: bootstrap-clean +## ja-dic rarely changes and is slow to regenerate, and tends to be a +## bottleneck in parallel builds. +gen-clean: + rm -f ${TIT_MISC} ${leimdir}/leim-list.el rm -rf ${leimdir}/ja-dic +extraclean: maintainer-clean + ### Makefile.in ends here commit dd5ba88afbb63f54603cc632fc55993c04531a85 Author: Alan Third Date: Sun Apr 4 14:08:48 2021 +0100 Work around librsvg bug (bug#47074) Librsvg <= 2.40 has restrictions on how certain numbers can be run together in path elements which do not match the SVG spec. * etc/images/checkbox-mixed.svg: * etc/images/checked.svg: * etc/images/radio-checked.svg: * etc/images/unchecked.svg: Separate problem numbers. * etc/images/radio-mixed.svg: Separate problem numbers and color and font-weight data. diff --git a/etc/images/checkbox-mixed.svg b/etc/images/checkbox-mixed.svg index 647a0ccf9b..6e46b803c8 100644 --- a/etc/images/checkbox-mixed.svg +++ b/etc/images/checkbox-mixed.svg @@ -1,6 +1,6 @@ - - + + diff --git a/etc/images/checked.svg b/etc/images/checked.svg index b84dde1c3a..4cbdef04f2 100644 --- a/etc/images/checked.svg +++ b/etc/images/checked.svg @@ -1,6 +1,6 @@ - + diff --git a/etc/images/radio-checked.svg b/etc/images/radio-checked.svg index 5354324c34..8950b447a0 100644 --- a/etc/images/radio-checked.svg +++ b/etc/images/radio-checked.svg @@ -1,6 +1,6 @@ - - + + diff --git a/etc/images/radio-mixed.svg b/etc/images/radio-mixed.svg index e2a6fcae57..1b3bfa78e9 100644 --- a/etc/images/radio-mixed.svg +++ b/etc/images/radio-mixed.svg @@ -1,6 +1,6 @@ - + - + diff --git a/etc/images/unchecked.svg b/etc/images/unchecked.svg index 7cc1516220..09bab8de95 100644 --- a/etc/images/unchecked.svg +++ b/etc/images/unchecked.svg @@ -1,3 +1,3 @@ - + commit 6a80632c3f8041e61186b1c85d9a33f1cb862ea5 Author: Michael Albinus Date: Sun Apr 4 14:06:40 2021 +0200 * test/lisp/filenotify-tests.el (file-notify--test-timeout): Change timing on emba. diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el index cca8aeb97d..13350b2442 100644 --- a/test/lisp/filenotify-tests.el +++ b/test/lisp/filenotify-tests.el @@ -119,6 +119,7 @@ There are different timeouts for local and remote file notification libraries." (cond ((file-remote-p temporary-file-directory) 20) ((eq system-type 'cygwin) 10) + ((getenv "EMACS_EMBA_CI") 10) ((string-equal (file-notify--test-library) "w32notify") 4) (t 3))) commit c3cd3fb0513d543f763e47093ec9a283eb6e97d0 Author: Eli Zaretskii Date: Sun Apr 4 14:53:20 2021 +0300 Fix MS-Windows build * src/image.c: (init_svg_functions) [WINDOWSNT]: Define and load rsvg_handle_set_stylesheet from the DLL for librsvg > 2.48. (lookup_image): Use xmalloc. diff --git a/src/image.c b/src/image.c index 08e937e501..6fe0b23f73 100644 --- a/src/image.c +++ b/src/image.c @@ -2442,7 +2442,7 @@ lookup_image (struct frame *f, Lisp_Object spec, int face_id) img->face_foreground = foreground; img->face_background = background; img->face_font_size = font_size; - img->face_font_family = malloc (strlen (font_family) + 1); + img->face_font_family = xmalloc (strlen (font_family) + 1); strcpy (img->face_font_family, font_family); img->load_failed_p = ! img->type->load_img (f, img); @@ -9647,6 +9647,11 @@ DEF_DLL_FN (gboolean, rsvg_handle_get_geometry_for_layer, (RsvgHandle *, const char *, const RsvgRectangle *, RsvgRectangle *, RsvgRectangle *, GError **)); # endif + +# if LIBRSVG_CHECK_VERSION (2, 48, 0) +DEF_DLL_FN (gboolean, rsvg_handle_set_stylesheet, + (RsvgHandle *, const guint8 *, gsize, GError **)); +# endif DEF_DLL_FN (void, rsvg_handle_get_dimensions, (RsvgHandle *, RsvgDimensionData *)); DEF_DLL_FN (GdkPixbuf *, rsvg_handle_get_pixbuf, (RsvgHandle *)); @@ -9699,6 +9704,9 @@ init_svg_functions (void) #if LIBRSVG_CHECK_VERSION (2, 46, 0) LOAD_DLL_FN (library, rsvg_handle_get_intrinsic_dimensions); LOAD_DLL_FN (library, rsvg_handle_get_geometry_for_layer); +#endif +#if LIBRSVG_CHECK_VERSION (2, 48, 0) + LOAD_DLL_FN (library, rsvg_handle_set_stylesheet); #endif LOAD_DLL_FN (library, rsvg_handle_get_dimensions); LOAD_DLL_FN (library, rsvg_handle_get_pixbuf); @@ -9740,6 +9748,9 @@ init_svg_functions (void) # undef rsvg_handle_get_geometry_for_layer # endif # undef rsvg_handle_get_dimensions +# if LIBRSVG_CHECK_VERSION (2, 48, 0) +# undef rsvg_handle_set_stylesheet +# endif # undef rsvg_handle_get_pixbuf # if LIBRSVG_CHECK_VERSION (2, 32, 0) # undef g_file_new_for_path @@ -9773,6 +9784,9 @@ init_svg_functions (void) fn_rsvg_handle_get_geometry_for_layer # endif # define rsvg_handle_get_dimensions fn_rsvg_handle_get_dimensions +# if LIBRSVG_CHECK_VERSION (2, 48, 0) +# define rsvg_handle_set_stylesheet fn_rsvg_handle_set_stylesheet +# endif # define rsvg_handle_get_pixbuf fn_rsvg_handle_get_pixbuf # if LIBRSVG_CHECK_VERSION (2, 32, 0) # define g_file_new_for_path fn_g_file_new_for_path commit 523fb9b5503a7ecdb8e79e2e0269b901f6a6f233 Author: Stefan Kangas Date: Sun Apr 4 13:23:40 2021 +0200 Use lexical-binding in hilit-chg.el * lisp/hilit-chg.el: Use lexical-binding. Remove redundant :group args. Doc and formatting fixes. (highlight-changes-mode, highlight-changes-visible-mode): Use keyword arguments. (hilit-chg-display-changes, highlight-changes-rotate-faces): Quote function symbols as such. (hilit-x, hilit-y, hilit-e): Define variables on top-level to silence the byte-compiler. (highlight-markup-buffers): Improve message format. diff --git a/lisp/hilit-chg.el b/lisp/hilit-chg.el index 89a1a9108c..3c3c407398 100644 --- a/lisp/hilit-chg.el +++ b/lisp/hilit-chg.el @@ -1,4 +1,4 @@ -;;; hilit-chg.el --- minor mode displaying buffer changes with special face +;;; hilit-chg.el --- minor mode displaying buffer changes with special face -*- lexical-binding: t -*- ;; Copyright (C) 1998, 2000-2021 Free Software Foundation, Inc. @@ -68,8 +68,7 @@ ;; (defun my-highlight-changes-mode-hook () ;; (if highlight-changes-mode ;; (add-hook 'write-file-functions 'highlight-changes-rotate-faces nil t) -;; (remove-hook 'write-file-functions 'highlight-changes-rotate-faces t) -;; )) +;; (remove-hook 'write-file-functions 'highlight-changes-rotate-faces t))) ;; Automatically enabling Highlight Changes mode @@ -114,16 +113,16 @@ ;; Possible bindings: -;; (global-set-key '[C-right] 'highlight-changes-next-change) -;; (global-set-key '[C-left] 'highlight-changes-previous-change) +;; (global-set-key '[C-right] #'highlight-changes-next-change) +;; (global-set-key '[C-left] #'highlight-changes-previous-change) ;; ;; Other interactive functions (that could be bound if desired): -;; highlight-changes-mode -;; highlight-changes-toggle-visibility -;; highlight-changes-remove-highlight -;; highlight-compare-with-file -;; highlight-compare-buffers -;; highlight-changes-rotate-faces +;; `highlight-changes-mode' +;; `highlight-changes-toggle-visibility' +;; `highlight-changes-remove-highlight' +;; `highlight-compare-with-file' +;; `highlight-compare-buffers' +;; `highlight-changes-rotate-faces' ;;; Bugs: @@ -179,7 +178,6 @@ :version "20.4" :group 'faces) - ;; Face information: How the changes appear. ;; Defaults for face: red foreground, no change to background, @@ -192,22 +190,20 @@ '((((min-colors 88) (class color)) (:foreground "red1")) (((class color)) (:foreground "red" )) (t (:inverse-video t))) - "Face used for highlighting changes." - :group 'highlight-changes) + "Face used for highlighting changes.") ;; This looks pretty ugly, actually. Maybe the underline should be removed. (defface highlight-changes-delete '((((min-colors 88) (class color)) (:foreground "red1" :underline t)) (((class color)) (:foreground "red" :underline t)) (t (:inverse-video t))) - "Face used for highlighting deletions." - :group 'highlight-changes) + "Face used for highlighting deletions.") ;; A (not very good) default list of colors to rotate through. (defcustom highlight-changes-colors (if (eq (frame-parameter nil 'background-mode) 'light) ;; defaults for light background: - '( "magenta" "blue" "darkgreen" "chocolate" "sienna4" "NavyBlue") + '("magenta" "blue" "darkgreen" "chocolate" "sienna4" "NavyBlue") ;; defaults for dark background: '("yellow" "magenta" "blue" "maroon" "firebrick" "green4" "DarkOrchid")) "Colors used by `highlight-changes-rotate-faces'. @@ -218,8 +214,7 @@ This list is used if `highlight-changes-face-list' is nil, otherwise that variable overrides this list. If you only care about foreground colors then use this, if you want fancier faces then set `highlight-changes-face-list'." - :type '(repeat color) - :group 'highlight-changes) + :type '(repeat color)) ;; When you invoke highlight-changes-mode, should highlight-changes-visible-mode ;; be on or off? @@ -230,8 +225,7 @@ colors then use this, if you want fancier faces then set This controls the initial value of `highlight-changes-visible-mode'. When a buffer is in Highlight Changes mode the function `highlight-changes-visible-mode' is used to toggle the mode on or off." - :type 'boolean - :group 'highlight-changes) + :type 'boolean) ;; These are the strings displayed in the mode-line for the minor mode: @@ -240,16 +234,14 @@ When a buffer is in Highlight Changes mode the function This should be set to nil if no indication is desired, or to a string with a leading space." :type '(choice string - (const :tag "None" nil)) - :group 'highlight-changes) + (const :tag "None" nil))) (defcustom highlight-changes-invisible-string " -Chg" "The string used when in Highlight Changes mode and changes are hidden. This should be set to nil if no indication is desired, or to a string with a leading space." :type '(choice string - (const :tag "None" nil)) - :group 'highlight-changes) + (const :tag "None" nil))) (defcustom highlight-changes-global-modes t "Determine whether a buffer is suitable for global Highlight Changes mode. @@ -279,9 +271,7 @@ modes only." (repeat :tag "Modes" :inline t (symbol :tag "mode"))) (function :menu-tag "determined by function" :value buffer-file-name) - (const :tag "none" nil) - ) - :group 'highlight-changes) + (const :tag "none" nil))) (defcustom highlight-changes-global-changes-existing-buffers nil "If non-nil, toggling global Highlight Changes mode affects existing buffers. @@ -290,8 +280,7 @@ created). However, if `highlight-changes-global-changes-existing-buffers' is non-nil, then turning on `global-highlight-changes-mode' will turn on Highlight Changes mode in suitable buffers, and turning the mode off will remove it from existing buffers." - :type 'boolean - :group 'highlight-changes) + :type 'boolean) ;; These are for internal use. @@ -320,9 +309,7 @@ through various faces. \\[highlight-compare-with-file] - mark text as changed by comparing this buffer with the contents of a file \\[highlight-compare-buffers] highlights differences between two buffers." - nil ;; init-value - hilit-chg-string ;; lighter - nil ;; keymap + :lighter hilit-chg-string (if (or (display-color-p) (and (fboundp 'x-display-grayscale-p) (x-display-grayscale-p))) (progn @@ -352,13 +339,8 @@ The default value can be customized with variable `highlight-changes-visibility-initial-state'. This command does not itself set Highlight Changes mode." - - t ;; init-value - nil ;; lighter - nil ;; keymap - - (hilit-chg-update) - ) + :init-value t + (hilit-chg-update)) (defun hilit-chg-cust-fix-changes-face-list (w _wc &optional event) @@ -371,12 +353,10 @@ This command does not itself set Highlight Changes mode." ;; faces are saved but not to the actual list itself. (let ((old-list (widget-value w))) (if (member 'default old-list) - (let - ((p (reverse old-list)) + (let ((p (reverse old-list)) (n (length old-list)) new-name old-name - (new-list nil) - ) + (new-list nil)) (while p (setq old-name (car p)) (setq new-name (intern (format "highlight-changes-%d" n))) @@ -396,9 +376,7 @@ This command does not itself set Highlight Changes mode." (if (equal new-list (widget-value w)) nil ;; (message "notify: no change!") (widget-value-set w new-list) - (widget-setup) - ) - ) + (widget-setup))) ;; (message "notify: no default here!") )) (let ((parent (widget-get w :parent))) @@ -417,10 +395,8 @@ Otherwise, this list will be constructed when needed from :type '(choice (repeat :notify hilit-chg-cust-fix-changes-face-list - face ) - (const :tag "Derive from highlight-changes-colors" nil) - ) - :group 'highlight-changes) + face) + (const :tag "Derive from highlight-changes-colors" nil))) (defun hilit-chg-map-changes (func &optional start-position end-position) @@ -446,7 +422,7 @@ An overlay from BEG to END containing a change face is added from the information in the text property of type `hilit-chg'. This is the opposite of `hilit-chg-hide-changes'." - (hilit-chg-map-changes 'hilit-chg-make-ov beg end)) + (hilit-chg-map-changes #'hilit-chg-make-ov beg end)) (defun hilit-chg-make-ov (prop start end) @@ -467,8 +443,7 @@ This is the opposite of `hilit-chg-hide-changes'." (overlay-put ov 'evaporate t) ;; We set the change property so we can tell this is one ;; of our overlays (so we don't delete someone else's). - (overlay-put ov 'hilit-chg t) - ) + (overlay-put ov 'hilit-chg t)) (error "hilit-chg-make-ov: no face for prop: %s" prop)))) (defun hilit-chg-hide-changes (&optional beg end) @@ -726,7 +701,7 @@ this, eval the following in the buffer to be saved: ;; remove our existing overlays (hilit-chg-hide-changes) ;; for each change text property, increment it - (hilit-chg-map-changes 'hilit-chg-bump-change) + (hilit-chg-map-changes #'hilit-chg-bump-change) ;; and display them (hilit-chg-display-changes)) (unless modified @@ -759,7 +734,7 @@ is non-nil." (buf-b-read-only (with-current-buffer buf-b buffer-read-only)) temp-a temp-b) (if (and file-a bufa-modified) - (if (y-or-n-p (format "Save buffer %s? " buf-a)) + (if (y-or-n-p (format "Save buffer %s? " buf-a)) (with-current-buffer buf-a (save-buffer) (setq bufa-modified (buffer-modified-p buf-a))) @@ -768,7 +743,7 @@ is non-nil." (setq temp-a (setq file-a (ediff-make-temp-file buf-a nil)))) (if (and file-b bufb-modified) - (if (y-or-n-p (format "Save buffer %s? " buf-b)) + (if (y-or-n-p (format "Save buffer %s? " buf-b)) (with-current-buffer buf-b (save-buffer) (setq bufb-modified (buffer-modified-p buf-b))) @@ -809,12 +784,11 @@ is non-nil." (if temp-a (delete-file temp-a)) (if temp-b - (delete-file temp-b))) - )) + (delete-file temp-b))))) ;;;###autoload (defun highlight-compare-buffers (buf-a buf-b) -"Compare two buffers and highlight the differences. + "Compare two buffers and highlight the differences. The default is the current buffer and the one in the next window. @@ -835,8 +809,7 @@ changes are made, so \\[highlight-changes-next-change] and (window-buffer (next-window)) t)))) (let ((file-a (buffer-file-name buf-a)) (file-b (buffer-file-name buf-b))) - (highlight-markup-buffers buf-a file-a buf-b file-b) - )) + (highlight-markup-buffers buf-a file-a buf-b file-b))) ;;;###autoload (defun highlight-compare-with-file (file-b) @@ -876,9 +849,11 @@ changes are made, so \\[highlight-changes-next-change] and (find-file-noselect file-b)))) (highlight-markup-buffers buf-a file-a buf-b file-b (not existing-buf)) (unless existing-buf - (kill-buffer buf-b)) - )) + (kill-buffer buf-b)))) +(defvar hilit-x) ; placate the byte-compiler +(defvar hilit-y) +(defvar hilit-e) (defun hilit-chg-get-diff-info (buf-a file-a buf-b file-b) ;; hilit-e,x,y are set by function hilit-chg-get-diff-list-hk. @@ -886,8 +861,7 @@ changes are made, so \\[highlight-changes-next-change] and (ediff-setup buf-a file-a buf-b file-b nil nil ; buf-c file-C '(hilit-chg-get-diff-list-hk) - (list (cons 'ediff-job-name 'something)) - ) + (list (cons 'ediff-job-name 'something))) (ediff-with-current-buffer hilit-e (ediff-really-quit nil)) (list hilit-x hilit-y))) @@ -895,9 +869,6 @@ changes are made, so \\[highlight-changes-next-change] and (defun hilit-chg-get-diff-list-hk () ;; hilit-e/x/y are dynamically bound by hilit-chg-get-diff-info ;; which calls this function as a hook. - (defvar hilit-x) ; placate the byte-compiler - (defvar hilit-y) - (defvar hilit-e) (setq hilit-e (current-buffer)) (let ((n 0) extent p va vb a b) (setq hilit-x nil hilit-y nil) @@ -931,7 +902,7 @@ changes are made, so \\[highlight-changes-next-change] and (setq extent (list (overlay-start (car p)) (overlay-end (car p)))) (setq p (cdr p)) - (setq hilit-y (append hilit-y (list extent) ))) + (setq hilit-y (append hilit-y (list extent)))) (setq n (1+ n)));; while ;; ediff-quit doesn't work here. ;; No point in returning a value, since this is a hook function. @@ -961,8 +932,7 @@ This is called when `global-highlight-changes-mode' is turned on." (and (not (string-match "^[ *]" (buffer-name))) (buffer-file-name)))) - (highlight-changes-mode 1)) - )) + (highlight-changes-mode 1)))) ;;;; Desktop support. @@ -985,8 +955,7 @@ This is called when `global-highlight-changes-mode' is turned on." ;; (message "--- hilit-chg-debug-show ---") ;; (hilit-chg-map-changes (lambda (prop start end) ;; (message "%d-%d: %s" start end prop)) -;; beg end -;; )) +;; beg end)) ;; ;; ================== end of debug =============== commit 4865ded5516a6e6705136c5b87466f864925ff96 Author: Stefan Kangas Date: Sun Apr 4 13:06:33 2021 +0200 Remove redundant #' before lambda in tests * test/lisp/electric-tests.el (save-electric-modes) (inhibit-in-mismatched-string-inside-ruby-comments) (inhibit-in-mismatched-string-inside-c-comments, js-mode-braces) (js-mode-braces-with-layout) (js-mode-braces-with-layout-and-indent, autowrapping-1) (autowrapping-2, autowrapping-3, autowrapping-4, autowrapping-5) (autowrapping-6, autowrapping-7): * test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-relative-to-project-root): * test/src/thread-tests.el (threads-signal-early) (threads-signal-main-thread): Remove redundant #' before lambda. diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el index 44b3d8b672..235c02f8e8 100644 --- a/test/lisp/electric-tests.el +++ b/test/lisp/electric-tests.el @@ -47,7 +47,7 @@ (defmacro save-electric-modes (&rest body) (declare (indent defun) (debug t)) - `(call-with-saved-electric-modes #'(lambda () ,@body))) + `(call-with-saved-electric-modes (lambda () ,@body))) (defun electric-pair-test-for (fixture where char expected-string expected-point mode bindings @@ -359,7 +359,7 @@ baz\"\"" # \" # baz\"\"" - :fixture-fn #'(lambda () (goto-char (point-min)) (search-forward "bar"))) + :fixture-fn (lambda () (goto-char (point-min)) (search-forward "bar"))) (define-electric-pair-test inhibit-in-mismatched-string-inside-c-comments "foo\"\"/* @@ -378,7 +378,7 @@ baz\"\"" \" \" \" */baz\"\"" - :fixture-fn #'(lambda () (goto-char (point-min)) (search-forward "bar"))) + :fixture-fn (lambda () (goto-char (point-min)) (search-forward "bar"))) ;;; More quotes, but now don't bind `electric-pair-text-syntax-table' @@ -520,8 +520,8 @@ baz\"\"" (define-electric-pair-test js-mode-braces "" "{" :expected-string "{}" :expected-point 2 :modes '(js-mode) - :fixture-fn #'(lambda () - (electric-pair-mode 1))) + :fixture-fn (lambda () + (electric-pair-mode 1))) (define-electric-pair-test js-mode-braces-with-layout @@ -529,29 +529,29 @@ baz\"\"" :modes '(js-mode) :test-in-comments nil :test-in-strings nil - :fixture-fn #'(lambda () - (electric-layout-mode 1) - (electric-pair-mode 1))) + :fixture-fn (lambda () + (electric-layout-mode 1) + (electric-pair-mode 1))) (define-electric-pair-test js-mode-braces-with-layout-and-indent "" "{" :expected-string "{\n \n}" :expected-point 7 :modes '(js-mode) :test-in-comments nil :test-in-strings nil - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (electric-indent-mode 1) - (electric-layout-mode 1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (electric-indent-mode 1) + (electric-layout-mode 1))) (define-electric-pair-test js-mode-braces-with-layout-and-indent "" "{" :expected-string "{\n \n}" :expected-point 7 :modes '(js-mode) :test-in-comments nil :test-in-strings nil - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (electric-indent-mode 1) - (electric-layout-mode 1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (electric-indent-mode 1) + (electric-layout-mode 1))) ;;; Backspacing @@ -606,55 +606,55 @@ baz\"\"" ;;; (define-electric-pair-test autowrapping-1 "foo" "(" :expected-string "(foo)" :expected-point 2 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (mark-sexp 1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (mark-sexp 1))) (define-electric-pair-test autowrapping-2 "foo" ")" :expected-string "(foo)" :expected-point 6 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (mark-sexp 1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (mark-sexp 1))) (define-electric-pair-test autowrapping-3 "foo" ")" :expected-string "(foo)" :expected-point 6 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (goto-char (point-max)) - (skip-chars-backward "\"") - (mark-sexp -1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (goto-char (point-max)) + (skip-chars-backward "\"") + (mark-sexp -1))) (define-electric-pair-test autowrapping-4 "foo" "(" :expected-string "(foo)" :expected-point 2 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (goto-char (point-max)) - (skip-chars-backward "\"") - (mark-sexp -1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (goto-char (point-max)) + (skip-chars-backward "\"") + (mark-sexp -1))) (define-electric-pair-test autowrapping-5 "foo" "\"" :expected-string "\"foo\"" :expected-point 2 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (mark-sexp 1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (mark-sexp 1))) (define-electric-pair-test autowrapping-6 "foo" "\"" :expected-string "\"foo\"" :expected-point 6 - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (goto-char (point-max)) - (skip-chars-backward "\"") - (mark-sexp -1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (goto-char (point-max)) + (skip-chars-backward "\"") + (mark-sexp -1))) (define-electric-pair-test autowrapping-7 "foo" "\"" :expected-string "``foo''" :expected-point 8 :modes '(tex-mode) :test-in-comments nil - :fixture-fn #'(lambda () - (electric-pair-mode 1) - (goto-char (point-max)) - (skip-chars-backward "\"") - (mark-sexp -1))) + :fixture-fn (lambda () + (electric-pair-mode 1) + (goto-char (point-max)) + (skip-chars-backward "\"") + (mark-sexp -1))) ;;; Electric quotes diff --git a/test/lisp/progmodes/xref-tests.el b/test/lisp/progmodes/xref-tests.el index 9982c32d41..c25bbd9477 100644 --- a/test/lisp/progmodes/xref-tests.el +++ b/test/lisp/progmodes/xref-tests.el @@ -143,7 +143,7 @@ (let* ((data-parent-dir (file-name-directory (directory-file-name xref-tests--data-dir))) (project-find-functions - #'(lambda (_) (cons 'transient data-parent-dir))) + (lambda (_) (cons 'transient data-parent-dir))) (xref-file-name-display 'project-relative) ;; Some older BSD find versions can produce '//' in the output. (expected (list diff --git a/test/src/thread-tests.el b/test/src/thread-tests.el index f14d2426ef..0e1ca76fd9 100644 --- a/test/src/thread-tests.el +++ b/test/src/thread-tests.el @@ -315,8 +315,8 @@ "Test signaling a thread as soon as it is started by the OS." (skip-unless (featurep 'threads)) (let ((thread - (make-thread #'(lambda () - (while t (thread-yield)))))) + (make-thread (lambda () + (while t (thread-yield)))))) (thread-signal thread 'error nil) (sit-for 1) (should-not (thread-live-p thread)) @@ -331,7 +331,7 @@ (let (buffer-read-only) (erase-buffer)) (let ((thread - (make-thread #'(lambda () (thread-signal main-thread 'error nil))))) + (make-thread (lambda () (thread-signal main-thread 'error nil))))) (while (thread-live-p thread) (thread-yield)) (read-event nil nil 0.1) commit 841b11ed0d534d707f54160f8c7efe3b883eb3ed Author: Alan Third Date: Sun Apr 4 11:25:49 2021 +0100 Fix warnings in image.c * src/image.c (svg_load_image): Fix types and move declaration of 'css' to the top of the function. diff --git a/src/image.c b/src/image.c index 13bd503e53..08e937e501 100644 --- a/src/image.c +++ b/src/image.c @@ -9917,6 +9917,10 @@ svg_load_image (struct frame *f, struct image *img, char *contents, char *wrapped_contents = NULL; ptrdiff_t wrapped_size; +#if LIBRSVG_CHECK_VERSION (2, 48, 0) + char *css = NULL; +#endif + #if ! GLIB_CHECK_VERSION (2, 36, 0) /* g_type_init is a glib function that must be called prior to using gnome type library functions (obsolete since 2.36.0). */ @@ -9944,16 +9948,15 @@ svg_load_image (struct frame *f, struct image *img, char *contents, FRAME_DISPLAY_INFO (f)->resy); #if LIBRSVG_CHECK_VERSION (2, 48, 0) - char *css; Lisp_Object lcss = image_spec_value (img->spec, QCcss, NULL); if (!STRINGP (lcss)) { /* Generate the CSS for the SVG image. */ - char *css_spec = "svg{font-family:\"%s\";font-size:%4dpx}"; + const char *css_spec = "svg{font-family:\"%s\";font-size:%4dpx}"; int css_len = strlen (css_spec) + strlen (img->face_font_family); css = xmalloc (css_len); snprintf (css, css_len, css_spec, img->face_font_family, img->face_font_size); - rsvg_handle_set_stylesheet (rsvg_handle, css, strlen (css), NULL); + rsvg_handle_set_stylesheet (rsvg_handle, (guint8 *)css, strlen (css), NULL); } else { @@ -10141,7 +10144,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents, FRAME_DISPLAY_INFO (f)->resy); #if LIBRSVG_CHECK_VERSION (2, 48, 0) - rsvg_handle_set_stylesheet (rsvg_handle, css, strlen (css), NULL); + rsvg_handle_set_stylesheet (rsvg_handle, (guint8 *)css, strlen (css), NULL); #endif #else /* Make a handle to a new rsvg object. */