Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 103004. ------------------------------------------------------------ revno: 103004 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2011-01-27 23:53:17 -0500 message: * src/xdisp.c (safe_eval_handler): Distinguish symbols and strings. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-01-27 23:45:04 +0000 +++ src/ChangeLog 2011-01-28 04:53:17 +0000 @@ -1,3 +1,7 @@ +2011-01-28 Stefan Monnier + + * xdisp.c (safe_eval_handler): Distinguish symbols and strings. + 2011-01-27 Chong Yidong * font.c (font_parse_fcname): Undefine a temporary macro. === modified file 'src/xdisp.c' --- src/xdisp.c 2011-01-25 04:08:28 +0000 +++ src/xdisp.c 2011-01-28 04:53:17 +0000 @@ -2171,7 +2171,7 @@ static Lisp_Object safe_eval_handler (Lisp_Object arg) { - add_to_log ("Error during redisplay: %s", arg, Qnil); + add_to_log ("Error during redisplay: %S", arg, Qnil); return Qnil; } ------------------------------------------------------------ revno: 103003 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2011-01-28 02:07:48 +0000 message: gnus-int.el (gnus-request-marks): Call *-request-marks instead of the older request-update-info. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-28 01:41:15 +0000 +++ lisp/gnus/ChangeLog 2011-01-28 02:07:48 +0000 @@ -1,5 +1,8 @@ 2011-01-28 Lars Ingebrigtsen + * gnus-int.el (gnus-request-marks): Call *-request-marks instead of the + older request-update-info. + * gnus-art.el (article-make-date-line): Limit the length a bit more. 2011-01-28 Daiki Ueno === modified file 'lisp/gnus/gnus-int.el' --- lisp/gnus/gnus-int.el 2011-01-25 04:08:28 +0000 +++ lisp/gnus/gnus-int.el 2011-01-28 02:07:48 +0000 @@ -638,8 +638,7 @@ (when (gnus-check-backend-function 'request-marks (car gnus-command-method)) (let ((group (gnus-info-group info))) - (and (funcall (gnus-get-function gnus-command-method - 'request-update-info) + (and (funcall (gnus-get-function gnus-command-method 'request-marks) (gnus-group-real-name group) info (nth 1 gnus-command-method)) ;; If the minimum article number is greater than 1, then all ------------------------------------------------------------ revno: 103002 [merge] committer: Paul Eggert branch nick: trunk timestamp: Thu 2011-01-27 17:53:06 -0800 message: Merge: Redo spelling of Makefile variables to conform to POSIX. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2011-01-26 08:36:39 +0000 +++ etc/ChangeLog 2011-01-28 01:51:41 +0000 @@ -1,3 +1,15 @@ +2011-01-28 Paul Eggert + + Redo spelling of Makefile variables to conform to POSIX. + POSIX does not allow "-" in Makefile variable names. + Reported by Bruno Haible in + . + * refcards/Makefile (DIRED_REFCARDS_PDF): Renamed from + DIRED-REFCARDS_PDF. + (MISC_REFCARDS_PDF): Renamed from MISC-REFCARDS_PDF. + (SURVIVAL_CARDS_PDF): Renamed from SURVIVAL-CARDS_PDF. + (VIPER_CARDS_PDF): Renamed from VIPER-CARDS_PDF. + 2011-01-18 Glenn Morris * PROBLEMS: Add note about svn+ssh. (Bug#7791) === modified file 'etc/refcards/Makefile' --- etc/refcards/Makefile 2011-01-25 04:08:28 +0000 +++ etc/refcards/Makefile 2011-01-28 01:51:41 +0000 @@ -28,24 +28,24 @@ refcards_pdf: ${REFCARDS_PDF} refcards_ps: ${REFCARDS_PDF:.pdf=.ps} -DIRED-REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \ +DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \ sk-dired-ref.pdf -dired-refcards_pdf: ${DIRED-REFCARDS_PDF} -dired-refcards_ps: ${DIRED-REFCARDS_PDF:.pdf=.ps} +dired-refcards_pdf: ${DIRED_REFCARDS_PDF} +dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps} -MISC-REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf -misc-refcards_pdf: ${MISC-REFCARDS_PDF} -misc-refcards_ps: ${MISC-REFCARDS_PDF:.pdf=.ps} +MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf +misc-refcards_pdf: ${MISC_REFCARDS_PDF} +misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps} ## The following files are not included with Emacs. -SURVIVAL-CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf -survival-cards_pdf: ${SURVIVAL-CARDS_PDF} -survival-cards_ps: ${SURVIVAL-CARDS_PDF:.pdf=.ps} +SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf +survival-cards_pdf: ${SURVIVAL_CARDS_PDF} +survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps} -VIPER-CARDS_PDF = vipcard.pdf viperCard.pdf -viper-cards_pdf: ${VIPER-CARDS_PDF} -viper-cards_ps: ${VIPER-CARDS_PDF:.pdf=.ps} +VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf +viper-cards_pdf: ${VIPER_CARDS_PDF} +viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps} ## PDF files. @@ -74,7 +74,7 @@ #gnus-logo.pdf: %.pdf: %.eps # ps2pdf $< -gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf +gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf pdflatex $< gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf === modified file 'leim/ChangeLog' --- leim/ChangeLog 2011-01-25 04:08:28 +0000 +++ leim/ChangeLog 2011-01-28 01:51:41 +0000 @@ -1,3 +1,22 @@ +2011-01-28 Paul Eggert + + Redo spelling of Makefile variables to conform to POSIX. + POSIX does not allow "-" in Makefile variable names. + Reported by Bruno Haible in + . + * Makefile.in (BUILT_EMACS): Renamed from BUILT-EMACS. + (TIT_GB): Renamed from TIT-GB. + (CHINESE_TIT): Renamed from CHINESE-TIT. + (NON_TIT_GB): Renamed from NON-TIT-GB. + (NON_TIT_BIG5): Renamed from NON-TIT-BIG5. + (CHINESE_NON_TIT): Renamed from CHINESE-NON-TIT. + (CHINESE_GB): Renamed from CHINESE-GB. + (CHINESE_BIG5): Renamed from CHINESE-BIG5. + (TIT_MISC): Renamed from TIT-MISC. + (NON_TIT_MISC): Renamed from NON-TIT-MISC. + (TIT_SOURCES): Renamed from TIT-SOURCES. + (MISC_SOURCES): Renamed from MISC-SOURCES. + 2011-01-08 Glenn Morris * makefile.w32-in (RUN_EMACS): === modified file 'leim/Makefile.in' --- leim/Makefile.in 2011-01-26 08:36:39 +0000 +++ leim/Makefile.in 2011-01-28 01:51:41 +0000 @@ -41,20 +41,20 @@ # Which Emacs to use to convert TIT files to Emacs Lisp files, # byte-compile Emacs Lisp files, and generate the file leim-list.el. -BUILT-EMACS = ../src/emacs +BUILT_EMACS = ../src/emacs buildlisppath=${srcdir}/../lisp # How to run Emacs. -RUN-EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \ - ${BUILT-EMACS} -batch --no-site-file --no-site-lisp +RUN_EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \ + ${BUILT_EMACS} -batch --no-site-file --no-site-lisp # Subdirectories to be made if ${srcdir} is different from the current # directory. SUBDIRS=quail # Files generated from TIT dictionaries for Chinese GB character set. -TIT-GB=\ +TIT_GB=\ quail/CCDOSPY.elc \ quail/Punct.elc \ quail/QJ.elc \ @@ -72,17 +72,17 @@ quail/QJ-b5.elc \ quail/ZOZY.elc -CHINESE-TIT=${TIT-GB} ${TIT-BIG5} - -NON-TIT-GB=${srcdir}/quail/py-punct.elc - -NON-TIT-BIG5=${srcdir}/quail/pypunct-b5.elc - -CHINESE-NON-TIT=${NON-TIT-GB} ${NON-TIT-BIG5} - -CHINESE-GB=${TIT-GB} ${NON-TIT-GB} - -CHINESE-BIG5=${TIT-BIG5} ${NON-TIT-BIG5} +CHINESE_TIT=${TIT_GB} ${TIT_BIG5} + +NON_TIT_GB=${srcdir}/quail/py-punct.elc + +NON_TIT_BIG5=${srcdir}/quail/pypunct-b5.elc + +CHINESE_NON_TIT=${NON_TIT_GB} ${NON_TIT_BIG5} + +CHINESE_GB=${TIT_GB} ${NON_TIT_GB} + +CHINESE_BIG5=${TIT_BIG5} ${NON_TIT_BIG5} JAPANESE=${srcdir}/quail/japanese.elc ${srcdir}/ja-dic/ja-dic.elc @@ -138,22 +138,22 @@ quail/CTLau.elc \ quail/CTLau-b5.elc -CHINESE=${CHINESE-GB} ${CHINESE-BIG5} +CHINESE=${CHINESE_GB} ${CHINESE_BIG5} EASTASIA=${CHINESE} ${JAPANESE} ${KOREAN} ASIA=${EASTASIA} ${THAI} ${VIETNAMESE} ${LAO} ${INDIAN} ${TIBETAN} EUROPEAN=${LATIN} ${SLAVIC} ${GREEK} ${RUSSIAN} WORLD=${ASIA} ${EUROPEAN} ${OTHERS} ${MISC} ${UNICODE} -TIT-MISC=${CHINESE-TIT} ${MISC} -NON-TIT-MISC=${CHINESE-NON-TIT} ${JAPANESE} ${KOREAN} ${EUROPEAN} ${OTHERS} +TIT_MISC=${CHINESE_TIT} ${MISC} +NON_TIT_MISC=${CHINESE_NON_TIT} ${JAPANESE} ${KOREAN} ${EUROPEAN} ${OTHERS} .SUFFIXES: .elc .el .el.elc: @echo Compiling $< - @${RUN-EMACS} -f batch-byte-compile $< + @${RUN_EMACS} -f batch-byte-compile $< -all: ${BUILT-EMACS} ${SUBDIRS} leim-list.el ${WORLD} +all: ${BUILT_EMACS} ${SUBDIRS} leim-list.el ${WORLD} # To ensure that we can run Emacs. This target is ignored (never # being hit) if a user changes default value of EMACS. @@ -164,7 +164,7 @@ mkdir $@ touch stamp-subdir -TIT-SOURCES= \ +TIT_SOURCES= \ ${srcdir}/CXTERM-DIC/4Corner.tit \ ${srcdir}/CXTERM-DIC/ARRAY30.tit \ ${srcdir}/CXTERM-DIC/CCDOSPY.tit \ @@ -179,15 +179,15 @@ ${srcdir}/CXTERM-DIC/TONEPY.tit \ ${srcdir}/CXTERM-DIC/ZOZY.tit -${CHINESE-TIT:.elc=.el}: changed.tit +${CHINESE_TIT:.elc=.el}: changed.tit @true -changed.tit: ${TIT-SOURCES} - ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ +changed.tit: ${TIT_SOURCES} + ${RUN_EMACS} -l ${buildlisppath}/international/titdic-cnv \ -f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \ echo "changed" > $@ -MISC-SOURCES= \ +MISC_SOURCES= \ ${srcdir}/MISC-DIC/CTLau-b5.html \ ${srcdir}/MISC-DIC/CTLau.html \ ${srcdir}/MISC-DIC/cangjie-table.b5 \ @@ -198,20 +198,20 @@ ${MISC:.elc=.el}: changed.misc @true -changed.misc: ${MISC-SOURCES} - ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ +changed.misc: ${MISC_SOURCES} + ${RUN_EMACS} -l ${buildlisppath}/international/titdic-cnv \ -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \ echo "changed" > $@ -leim-list.el: ${SUBDIRS} ${TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el +leim-list.el: ${SUBDIRS} ${TIT_MISC} changed.tit changed.misc ${srcdir}/leim-ext.el rm -f leim-list.el - ${RUN-EMACS} -l ${buildlisppath}/international/quail \ - -f batch-byte-compile-if-not-done ${TIT-MISC:.elc=.el} + ${RUN_EMACS} -l ${buildlisppath}/international/quail \ + -f batch-byte-compile-if-not-done ${TIT_MISC:.elc=.el} if [ x`(cd ${srcdir} && /bin/pwd)` = x`(/bin/pwd)` ] ; then \ - ${RUN-EMACS} -l ${buildlisppath}/international/quail \ + ${RUN_EMACS} -l ${buildlisppath}/international/quail \ --eval "(update-leim-list-file \".\")" ; \ else \ - ${RUN-EMACS} -l ${buildlisppath}/international/quail \ + ${RUN_EMACS} -l ${buildlisppath}/international/quail \ --eval "(update-leim-list-file \".\" \"${srcdir}\")" ; \ fi sed -n '/^[^;]/ p' < ${srcdir}/leim-ext.el >> $@ @@ -264,7 +264,7 @@ else true ; fi clean mostlyclean: - rm -f ${TIT-MISC} ${TIT-MISC:.elc=.el} \ + rm -f ${TIT_MISC} ${TIT_MISC:.elc=.el} \ leim-list.el changed.tit changed.misc # The following target is needed because the `clean' target only removes @@ -287,5 +287,5 @@ .PHONY: check-declare check-declare: - $(RUN-EMACS) -l $(buildlisppath)/emacs-lisp/check-declare \ + $(RUN_EMACS) -l $(buildlisppath)/emacs-lisp/check-declare \ --eval '(check-declare-directory "$(srcdir)")' ------------------------------------------------------------ revno: 103001 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2011-01-28 01:41:15 +0000 message: gnus-art.el (article-make-date-line): Limit the length a bit more. gnus.texi (Article Date): Document gnus-article-update-lapsed-header. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-01-26 08:36:39 +0000 +++ doc/misc/ChangeLog 2011-01-28 01:41:15 +0000 @@ -1,3 +1,7 @@ +2011-01-26 Lars Ingebrigtsen + + * gnus.texi (Article Date): Document gnus-article-update-lapsed-header. + 2011-01-24 Teodor Zlatanov * message.texi (IDNA): Explain what it is. === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2011-01-25 04:08:28 +0000 +++ doc/misc/gnus.texi 2011-01-28 01:41:15 +0000 @@ -9503,15 +9503,16 @@ An advantage of using Gnus to read mail is that it converts simple bugs into wonderful absurdities. -If you want to have this line updated continually, you can put +This line is updated continually by default. If you wish to switch +that off, say: +@vindex gnus-article-update-lapsed-header @lisp -(gnus-start-date-timer) +(setq gnus-article-update-lapsed-header nil) @end lisp -in your @file{~/.gnus.el} file, or you can run it off of some hook. If -you want to stop the timer, you can use the @code{gnus-stop-date-timer} -command. +in your @file{~/.gnus.el} file. If you want to stop the updating +dynamically, you can use the @code{gnus-stop-date-timer} command. @item W T o @kindex W T o (Summary) === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-28 01:34:09 +0000 +++ lisp/gnus/ChangeLog 2011-01-28 01:41:15 +0000 @@ -1,3 +1,7 @@ +2011-01-28 Lars Ingebrigtsen + + * gnus-art.el (article-make-date-line): Limit the length a bit more. + 2011-01-28 Daiki Ueno * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-01-27 23:42:38 +0000 +++ lisp/gnus/gnus-art.el 2011-01-28 01:41:15 +0000 @@ -3578,7 +3578,7 @@ (concat " (" (article-lapsed-string time segments) ")")) (> (+ (length date-string) (length lapsed-string)) - (+ fill-column 10)) + (+ fill-column 6)) (> segments 0)) (setq segments (1- segments))) (if (> segments 0) ------------------------------------------------------------ revno: 103000 author: Daiki Ueno committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2011-01-28 01:34:09 +0000 message: mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give mml2015-signers higher precedence over mml2015-sign-with-sender. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-28 00:14:08 +0000 +++ lisp/gnus/ChangeLog 2011-01-28 01:34:09 +0000 @@ -1,3 +1,8 @@ +2011-01-28 Daiki Ueno + + * mml2015.el (mml2015-epg-sign, mml2015-epg-encrypt): Give + mml2015-signers higher precedence over mml2015-sign-with-sender. + 2011-01-27 Lars Ingebrigtsen * gnus-group.el (gnus-group-refresh-group): Refresh even non-visible === modified file 'lisp/gnus/mml2015.el' --- lisp/gnus/mml2015.el 2011-01-28 00:14:08 +0000 +++ lisp/gnus/mml2015.el 2011-01-28 01:34:09 +0000 @@ -116,7 +116,8 @@ :type 'integer) (defcustom mml2015-signers nil - "A list of your own key ID which will be used to sign a message." + "A list of your own key ID which will be used to sign a message. +If set, it overrides the setting of `mml2015-sign-with-sender'." :group 'mime-security :type '(repeat (string :tag "Key ID"))) @@ -965,8 +966,10 @@ (let* ((inhibit-redisplay t) (context (epg-make-context)) (boundary (mml-compute-boundary cont)) - (sender (when mml2015-sign-with-sender - (message-options-get 'message-sender))) + (sender (message-options-get 'message-sender)) + (signer-names (or mml2015-signers + (if (and mml2015-sign-with-sender sender) + (list (concat "<" sender ">"))))) signer-key (signers (or (message-options-get 'mml2015-epg-signers) @@ -976,10 +979,7 @@ (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers) + signer-names t) (if (or sender mml2015-signers) (delq nil @@ -995,10 +995,7 @@ signer))) (error "No secret key for %s" signer)) signer-key) - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers)))))))) + signer-names))))))) signature micalg) (epg-context-set-armor context t) (epg-context-set-textmode context t) @@ -1038,15 +1035,18 @@ (goto-char (point-max)))) (defun mml2015-epg-encrypt (cont &optional sign) - (let ((inhibit-redisplay t) - (context (epg-make-context)) - (config (epg-configuration)) - (sender (when mml2015-sign-with-sender - (message-options-get 'message-sender))) - (recipients (message-options-get 'mml2015-epg-recipients)) - cipher signers - (boundary (mml-compute-boundary cont)) - recipient-key signer-key) + (let* ((inhibit-redisplay t) + (context (epg-make-context)) + (boundary (mml-compute-boundary cont)) + (config (epg-configuration)) + (recipients (message-options-get 'mml2015-epg-recipients)) + cipher + (sender (message-options-get 'message-sender)) + (signer-names (or mml2015-signers + (if (and mml2015-sign-with-sender sender) + (list (concat "<" sender ">"))))) + signers + recipient-key signer-key) (unless recipients (setq recipients (apply #'nconc @@ -1060,12 +1060,9 @@ (read-string "Recipients: "))) "[ \f\t\n\r\v,]+")))) (when mml2015-encrypt-to-self - (unless (or sender mml2015-signers) - (error "Message sender and mml2015-signers not set")) - (setq recipients (nconc recipients (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers)))) + (unless signer-names + (error "Neither message sender nor mml2015-signers are set")) + (setq recipients (nconc recipients signer-names))) (if (eq mm-encrypt-option 'guided) (setq recipients (epa-select-keys context "\ @@ -1098,10 +1095,7 @@ (epa-select-keys context "\ Select keys for signing. If no one is selected, default secret key is used. " - (if sender - (cons (concat "<" sender ">") - mml2015-signers) - mml2015-signers) + signer-names t) (if (or sender mml2015-signers) (delq nil @@ -1117,9 +1111,7 @@ signer))) (error "No secret key for %s" signer)) signer-key) - (if sender - (cons (concat "<" sender ">") mml2015-signers) - mml2015-signers)))))))) + signer-names))))))) (epg-context-set-signers context signers)) (epg-context-set-armor context t) (epg-context-set-textmode context t) ------------------------------------------------------------ revno: 102999 [merge] committer: Paul Eggert branch nick: trunk timestamp: Thu 2011-01-27 16:26:43 -0800 message: Merge: improve fix for MS-DOS file name clash diff: === modified file 'ChangeLog' --- ChangeLog 2011-01-27 07:24:57 +0000 +++ ChangeLog 2011-01-28 00:25:24 +0000 @@ -1,3 +1,12 @@ +2011-01-28 Paul Eggert + + improve fix for MS-DOS file name clash + * Makefile.in (DOS_gnulib_comp.m4): Renamed from DOS-gnulib-comp.m4, + for portability to POSIX make. Reported by Bruno Haible. + (sync-from-gnulib): Copy gl-comp.m4 (if present) back to + gnulib-comp.m4 before running gnulib-tool, to prevent old gnulib + files from accumulating as garbage. Also reported by Bruno Haible. + 2011-01-27 Paul Eggert fix two m4/gnulib-*.m4 file names that clashed under MS-DOS === modified file 'Makefile.in' --- Makefile.in 2011-01-27 07:24:57 +0000 +++ Makefile.in 2011-01-28 00:25:24 +0000 @@ -325,7 +325,7 @@ git clone git://git.savannah.gnu.org/gnulib.git $@ # A shorter name that satisfies MS-DOS 8+3 constraints. -DOS-gnulib-comp.m4 = gl-comp.m4 +DOS_gnulib_comp.m4 = gl-comp.m4 # Update modules from gnulib, for maintainers, who should have it in # $(gnulib_srcdir) (relative to $(srcdir) and should have build tools @@ -334,10 +334,11 @@ GNULIB_TOOL_FLAGS = \ --import --no-changelog --no-vc-files --makefile-name=gnulib.mk sync-from-gnulib: $(gnulib_srcdir) + -cd $(srcdir)/m4 && cp $(DOS_gnulib_comp.m4) gnulib-comp.m4 cd $(srcdir) && \ $(gnulib_srcdir)/gnulib-tool $(GNULIB_TOOL_FLAGS) $(GNULIB_MODULES) cd $(srcdir)/m4 && rm gnulib-cache.m4 warn-on-use.m4 - cd $(srcdir)/m4 && mv gnulib-comp.m4 $(DOS-gnulib-comp.m4) + cd $(srcdir)/m4 && mv gnulib-comp.m4 $(DOS_gnulib_comp.m4) cp $(gnulib_srcdir)/build-aux/texinfo.tex $(srcdir)/doc/misc cp \ $(gnulib_srcdir)/build-aux/config.sub \ @@ -410,7 +411,7 @@ $(srcdir)/configure: $(AUTOCONF_INPUTS) cd ${srcdir} && autoconf -ACLOCAL_INPUTS = @MAINT@ $(srcdir)/m4/$(DOS-gnulib-comp.m4) +ACLOCAL_INPUTS = @MAINT@ $(srcdir)/m4/$(DOS_gnulib_comp.m4) $(srcdir)/aclocal.m4: $(ACLOCAL_INPUTS) cd $(srcdir) && aclocal -I m4 ------------------------------------------------------------ revno: 102998 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2011-01-28 00:14:08 +0000 message: gnus-group.el (gnus-group-refresh-group): Refresh even non-visible groups. This makes the nndraft:queue group pop up if it's not already there. mml2015.el (mml2015-epg-sign): Add missing paren. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 23:56:27 +0000 +++ lisp/gnus/ChangeLog 2011-01-28 00:14:08 +0000 @@ -1,5 +1,9 @@ 2011-01-27 Lars Ingebrigtsen + * gnus-group.el (gnus-group-refresh-group): Refresh even non-visible + groups. This makes the nndraft:queue group pop up if it's not already + there. + * gnus-sum.el (gnus-summary-read-group-1): Fix the "contains no messages" logic, which was reversed. === modified file 'lisp/gnus/gnus-group.el' --- lisp/gnus/gnus-group.el 2011-01-26 08:36:39 +0000 +++ lisp/gnus/gnus-group.el 2011-01-28 00:14:08 +0000 @@ -1681,7 +1681,7 @@ (gnus-activate-group group) (gnus-get-unread-articles-in-group (gnus-get-info group) (gnus-active group)) - (gnus-group-update-group group t)) + (gnus-group-update-group group)) (defun gnus-group-update-group (group &optional visible-only) "Update all lines where GROUP appear. === modified file 'lisp/gnus/mml2015.el' --- lisp/gnus/mml2015.el 2011-01-27 23:42:38 +0000 +++ lisp/gnus/mml2015.el 2011-01-28 00:14:08 +0000 @@ -966,7 +966,7 @@ (context (epg-make-context)) (boundary (mml-compute-boundary cont)) (sender (when mml2015-sign-with-sender - message-options-get 'message-sender)) + (message-options-get 'message-sender))) signer-key (signers (or (message-options-get 'mml2015-epg-signers) ------------------------------------------------------------ revno: 102997 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2011-01-27 23:56:27 +0000 message: gnus-sum.el (gnus-summary-read-group-1): Fix the "contains no messages" logic, which was reversed. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 23:42:38 +0000 +++ lisp/gnus/ChangeLog 2011-01-27 23:56:27 +0000 @@ -1,5 +1,8 @@ 2011-01-27 Lars Ingebrigtsen + * gnus-sum.el (gnus-summary-read-group-1): Fix the "contains no + messages" logic, which was reversed. + * gnus-art.el (article-update-date-lapsed): Ensure that point stays at the "same place" even if point is on the line being replaced. (article-update-date-lapsed): Allow updating both the combined lapsed === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2011-01-27 04:04:58 +0000 +++ lisp/gnus/gnus-sum.el 2011-01-27 23:56:27 +0000 @@ -3939,11 +3939,9 @@ (gnus-group-jump-to-group group) (gnus-group-next-unread-group 1)) (gnus-handle-ephemeral-exit quit-config))) - (let ((grpinfo (gnus-get-info group))) - (if (null (gnus-info-read grpinfo)) - (gnus-message 3 "Group %s contains no messages" - (gnus-group-decoded-name group)) - (gnus-message 3 "Can't select group"))) + (if (null (gnus-list-of-unread-articles group)) + (gnus-message 3 "Group %s contains no messages" group) + (gnus-message 3 "Can't select group")) nil) ;; The user did a `C-g' while prompting for number of articles, ;; so we exit this group. ------------------------------------------------------------ revno: 102996 committer: Chong Yidong branch nick: trunk timestamp: Thu 2011-01-27 18:45:04 -0500 message: Convert font parse testsuite to an ERT test. * test/automated/font-parse-tests.el: Move from font-parse-testsuite.el. * src/font.c (font_parse_fcname): Undefine a temporary macro. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-01-26 20:02:07 +0000 +++ src/ChangeLog 2011-01-27 23:45:04 +0000 @@ -1,3 +1,7 @@ +2011-01-27 Chong Yidong + + * font.c (font_parse_fcname): Undefine a temporary macro. + 2011-01-26 Stefan Monnier Let the debugger continue to the normal handler (bug#7825). === modified file 'src/font.c' --- src/font.c 2011-01-26 18:10:04 +0000 +++ src/font.c 2011-01-27 23:45:04 +0000 @@ -1513,6 +1513,7 @@ } } #undef PROP_MATCH +#undef PROP_SAVE if (family_end) ASET (font, FONT_FAMILY_INDEX, === modified file 'test/ChangeLog' --- test/ChangeLog 2011-01-26 18:10:04 +0000 +++ test/ChangeLog 2011-01-27 23:45:04 +0000 @@ -1,3 +1,8 @@ +2011-01-27 Chong Yidong + + * automated/font-parse-tests.el: Move from + font-parse-testsuite.el. + 2011-01-26 Chong Yidong * font-parse-testsuite.el (test-font-parse-data): New file. === renamed file 'test/font-parse-testsuite.el' => 'test/automated/font-parse-tests.el' --- test/font-parse-testsuite.el 2011-01-26 18:10:04 +0000 +++ test/automated/font-parse-tests.el 2011-01-27 23:45:04 +0000 @@ -1,4 +1,4 @@ -;;; redisplay-testsuite.el --- Test suite for redisplay. +;;; font-parse-tests.el --- Test suite for font parsing. ;; Copyright (C) 2011 Free Software Foundation, Inc. @@ -29,63 +29,91 @@ ;;; Code: -(defvar test-font-parse-data - '((" " " " nil nil nil nil) - ("Monospace" "Monospace" nil nil nil nil) - ("Foo1" "Foo1" nil nil nil nil) - ("12" "nil" 12.0 nil nil nil) - ("12 " "12 " nil nil nil nil) +(require 'ert) + +(defvar font-parse-tests--data + `((" " ,(intern " ") nil nil nil nil) + ("Monospace" Monospace nil nil nil nil) + ("Foo1" Foo1 nil nil nil nil) + ("12" nil 12.0 nil nil nil) + ("12 " ,(intern "12 ") nil nil nil nil) ;; Fontconfig format - ("Foo:" "Foo" nil nil nil nil) - ("Foo-8" "Foo" 8.0 nil nil nil) - ("Foo-18:" "Foo" 18.0 nil nil nil) - ("Foo-18:light" "Foo" 18.0 light nil nil) - ("Foo 10:weight=bold" "Foo 10" nil bold nil nil) - ("Foo-12:weight=bold" "Foo" 12.0 bold nil nil) - ("Foo 8-20:slant=oblique" "Foo 8" 20.0 nil oblique nil) - ("Foo:light:roman" "Foo" nil light roman nil) - ("Foo:italic:roman" "Foo" nil nil roman nil) - ("Foo 12:light:oblique" "Foo 12" nil light oblique nil) - ("Foo-12:demibold:oblique" "Foo" 12.0 demibold oblique nil) - ("Foo:black:proportional" "Foo" nil black nil 0) - ("Foo-10:black:proportional" "Foo" 10.0 black nil 0) - ("Foo:weight=normal" "Foo" nil normal nil nil) - ("Foo:weight=bold" "Foo" nil bold nil nil) - ("Foo:weight=bold:slant=italic" "Foo" nil bold italic) - ("Foo:weight=bold:slant=italic:mono" "Foo" nil bold italic 100) - ("Foo-10:demibold:slant=normal" "Foo" 10.0 demibold normal nil) - ("Foo 11-16:oblique:weight=bold" "Foo 11" 16.0 bold oblique nil) - ("Foo:oblique:randomprop=randomtag:weight=bold" - "Foo" nil bold oblique nil) - ("Foo:randomprop=randomtag:bar=baz" "Foo" nil nil nil nil) - ("Foo Book Light:bar=baz" "Foo Book Light" nil nil nil nil) - ("Foo Book Light 10:bar=baz" "Foo Book Light 10" nil nil nil nil) - ("Foo Book Light-10:bar=baz" "Foo Book Light" 10.0 nil nil nil) + ("Foo:" Foo nil nil nil nil) + ("Foo-8" Foo 8.0 nil nil nil) + ("Foo-18:" Foo 18.0 nil nil nil) + ("Foo-18:light" Foo 18.0 light nil nil) + ("Foo 10:weight=bold" ,(intern "Foo 10") nil bold nil nil) + ("Foo-12:weight=bold" Foo 12.0 bold nil nil) + ("Foo 8-20:slant=oblique" ,(intern "Foo 8") 20.0 nil oblique nil) + ("Foo:light:roman" Foo nil light roman nil) + ("Foo:italic:roman" Foo nil nil roman nil) + ("Foo 12:light:oblique" ,(intern "Foo 12") nil light oblique nil) + ("Foo-12:demibold:oblique" Foo 12.0 demibold oblique nil) + ("Foo:black:proportional" Foo nil black nil 0) + ("Foo-10:black:proportional" Foo 10.0 black nil 0) + ("Foo:weight=normal" Foo nil normal nil nil) + ("Foo:weight=bold" Foo nil bold nil nil) + ("Foo:weight=bold:slant=italic" Foo nil bold italic) + ("Foo:weight=bold:slant=italic:mono" Foo nil bold italic 100) + ("Foo-10:demibold:slant=normal" Foo 10.0 demibold normal nil) + ("Foo 11-16:oblique:weight=bold" ,(intern "Foo 11") 16.0 bold oblique nil) + ("Foo:oblique:randomprop=randomtag:weight=bold" Foo nil bold oblique nil) + ("Foo:randomprop=randomtag:bar=baz" Foo nil nil nil nil) + ("Foo Book Light:bar=baz" ,(intern "Foo Book Light") nil nil nil nil) + ("Foo Book Light 10:bar=baz" ,(intern "Foo Book Light 10") nil nil nil nil) + ("Foo Book Light-10:bar=baz" ,(intern "Foo Book Light") 10.0 nil nil nil) ;; GTK format - ("Oblique" "nil" nil nil oblique nil) - ("Bold 17" "nil" 17.0 bold nil nil) - ("17 Bold" "17" nil bold nil nil) - ("Book Oblique 2" "nil" 2.0 book oblique nil) - ("Bar 7" "Bar" 7.0 nil nil nil) - ("Bar Ultra-Light" "Bar" nil ultra-light nil nil) - ("Bar Light 8" "Bar" 8.0 light nil nil) - ("Bar Book Medium 9" "Bar" 9.0 medium nil nil) - ("Bar Semi-Bold Italic 10" "Bar" 10.0 semi-bold italic nil) - ("Bar Semi-Condensed Bold Italic 11" "Bar" 11.0 bold italic nil) - ("Foo 10 11" "Foo 10" 11.0 nil nil nil) - ("Foo 1985 Book" "Foo 1985" nil book nil nil) - ("Foo 1985 A Book" "Foo 1985 A" nil book nil nil) - ("Foo A Book 12 A" "Foo A Book 12 A" nil nil nil nil) - ("Foo 1985 Book 12 Oblique" "Foo 1985 Book 12" nil nil oblique nil) - ("Foo 1985 Book 12 Italic 10" "Foo 1985 Book 12" 10.0 nil italic nil) - ("Foo Book Bar 6 Italic" "Foo Book Bar 6" nil nil italic nil) - ("Foo Book Bar Bold" "Foo Book Bar" nil bold nil nil)) + ("Oblique" nil nil nil oblique nil) + ("Bold 17" nil 17.0 bold nil nil) + ("17 Bold" ,(intern "17") nil bold nil nil) + ("Book Oblique 2" nil 2.0 book oblique nil) + ("Bar 7" Bar 7.0 nil nil nil) + ("Bar Ultra-Light" Bar nil ultra-light nil nil) + ("Bar Light 8" Bar 8.0 light nil nil) + ("Bar Book Medium 9" Bar 9.0 medium nil nil) + ("Bar Semi-Bold Italic 10" Bar 10.0 semi-bold italic nil) + ("Bar Semi-Condensed Bold Italic 11" Bar 11.0 bold italic nil) + ("Foo 10 11" ,(intern "Foo 10") 11.0 nil nil nil) + ("Foo 1985 Book" ,(intern "Foo 1985") nil book nil nil) + ("Foo 1985 A Book" ,(intern "Foo 1985 A") nil book nil nil) + ("Foo 1 Book 12" ,(intern "Foo 1") 12.0 book nil nil) + ("Foo A Book 12 A" ,(intern "Foo A Book 12 A") nil nil nil nil) + ("Foo 1985 Book 12 Oblique" ,(intern "Foo 1985 Book 12") nil nil oblique nil) + ("Foo 1985 Book 12 Italic 10" ,(intern "Foo 1985 Book 12") 10.0 nil italic nil) + ("Foo Book Bar 6 Italic" ,(intern "Foo Book Bar 6") nil nil italic nil) + ("Foo Book Bar Bold" ,(intern "Foo Book Bar") nil bold nil nil)) "List of font names parse data. Each element should have the form (NAME FAMILY SIZE WEIGHT SLANT SPACING) where NAME is the name to parse, and the remainder are the expected font properties from parsing NAME.") +(defun font-parse-check (name prop expected) + (let ((result (font-get (font-spec :name name) prop))) + (if (and (symbolp result) (symbolp expected)) + (eq result expected) + (equal result expected)))) + +(put 'font-parse-check 'ert-explainer 'font-parse-explain) + +(defun font-parse-explain (name prop expected) + (let ((result (font-get (font-spec :name name) prop)) + (propname (symbol-name prop))) + (format "Parsing `%s': expected %s `%s', got `%s'." + name (substring propname 1) expected + (font-get (font-spec :name name) prop)))) + +(ert-deftest font-parse-tests () + "Test parsing of Fontconfig-style and GTK-style font names." + (dolist (test font-parse-tests--data) + (let* ((name (nth 0 test))) + (should (font-parse-check name :family (nth 1 test))) + (should (font-parse-check name :size (nth 2 test))) + (should (font-parse-check name :weight (nth 3 test))) + (should (font-parse-check name :slant (nth 4 test))) + (should (font-parse-check name :spacing (nth 5 test)))))) + + (defun test-font-parse () "Test font name parsing." (interactive) @@ -93,10 +121,10 @@ (setq show-trailing-whitespace nil) (let ((pass-face '((t :foreground "green"))) (fail-face '((t :foreground "red")))) - (dolist (test test-font-parse-data) + (dolist (test font-parse-tests--data) (let* ((name (nth 0 test)) (fs (font-spec :name name)) - (family (symbol-name (font-get fs :family))) + (family (font-get fs :family)) (size (font-get fs :size)) (weight (font-get fs :weight)) (slant (font-get fs :slant)) @@ -105,8 +133,8 @@ (if (> (current-column) 20) (insert "\n")) (indent-to-column 21) - (insert (propertize family - 'face (if (equal family (nth 1 test)) + (insert (propertize (symbol-name family) + 'face (if (eq family (nth 1 test)) pass-face fail-face))) (indent-to-column 40) @@ -132,4 +160,4 @@ (insert "\n")))) (goto-char (point-min))) -;;; font-parse-testsuite.el ends here. +;;; font-parse-tests.el ends here. ------------------------------------------------------------ revno: 102995 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2011-01-27 23:42:38 +0000 message: Merge changes made in Gnus trunk. mml2015.el (mml2015-epg-sign): Add and use mml2015-sign-with-sender. (mml2015-epg-encrypt): Use mml2015-sign-with-sender. gnus-art.el (article-update-date-lapsed): Ensure that point stays at the "same place" even if point is on the line being replaced. (article-update-date-lapsed): Allow updating both the combined lapsed and the lapsed headers. (article-update-date-lapsed): Skip past all the X-Sent/Date headers. (article-make-date-line): Limit the number of segments dynamically to avoid too-long lines. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 13:20:55 +0000 +++ lisp/gnus/ChangeLog 2011-01-27 23:42:38 +0000 @@ -1,3 +1,18 @@ +2011-01-27 Lars Ingebrigtsen + + * gnus-art.el (article-update-date-lapsed): Ensure that point stays at + the "same place" even if point is on the line being replaced. + (article-update-date-lapsed): Allow updating both the combined lapsed + and the lapsed headers. + (article-update-date-lapsed): Skip past all the X-Sent/Date headers. + (article-make-date-line): Limit the number of segments dynamically to + avoid too-long lines. + +2011-01-27 Julien Danjou + + * mml2015.el (mml2015-epg-sign): Add and use mml2015-sign-with-sender. + (mml2015-epg-encrypt): Use mml2015-sign-with-sender. + 2011-01-27 Katsumi Yamaoka * shr.el (shr-expand-newlines, shr-previous-newline-padding-width): === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-01-27 04:04:58 +0000 +++ lisp/gnus/gnus-art.el 2011-01-27 23:42:38 +0000 @@ -3570,8 +3570,20 @@ (concat "X-Sent: " (article-lapsed-string time))) ;; A combined date/lapsed format. ((eq type 'combined-lapsed) - (concat (article-make-date-line date 'original) - " (" (article-lapsed-string time 3) ")")) + (let ((date-string (article-make-date-line date 'original)) + (segments 3) + lapsed-string) + (while (and + (setq lapsed-string + (concat " (" (article-lapsed-string time segments) ")")) + (> (+ (length date-string) + (length lapsed-string)) + (+ fill-column 10)) + (> segments 0)) + (setq segments (1- segments))) + (if (> segments 0) + (concat date-string lapsed-string) + date-string))) ;; Display the date in proper English ((eq type 'english) (let ((dtime (decode-time time))) @@ -3674,19 +3686,33 @@ "Function to be run from a timer to update the lapsed time line." (save-match-data (let (deactivate-mark) - (save-excursion + (save-window-excursion (ignore-errors (walk-windows (lambda (w) (set-buffer (window-buffer w)) (when (eq major-mode 'gnus-article-mode) - (let ((mark (point-marker))) + (let ((mark (point-marker)) + (old-point (point))) (goto-char (point-min)) (when (re-search-forward "^X-Sent:\\|^Date:" nil t) - (if gnus-treat-date-combined-lapsed - (article-date-combined-lapsed t) + ;; If the point is on the Date line, then use that + ;; absolute position. Otherwise, use the mark. + ;; This will ensure that point stays at the "same + ;; place". + (when (or (< old-point (match-beginning 0)) + (> old-point (progn + (forward-line 1) + (while (and (not (eobp)) + (looking-at "X-Sent:\\|Date:")) + (forward-line)) + (point)))) + (setq old-point nil)) + (when gnus-treat-date-combined-lapsed + (article-date-combined-lapsed t)) + (when gnus-treat-date-lapsed (article-date-lapsed t))) - (goto-char (marker-position mark)) + (goto-char (or old-point (marker-position mark))) (move-marker mark nil)))) nil 'visible)))))) === modified file 'lisp/gnus/mml2015.el' --- lisp/gnus/mml2015.el 2011-01-25 04:08:28 +0000 +++ lisp/gnus/mml2015.el 2011-01-27 23:42:38 +0000 @@ -120,6 +120,12 @@ :group 'mime-security :type '(repeat (string :tag "Key ID"))) +(defcustom mml2015-sign-with-sender nil + "If t, use message sender so find a key to sign with." + :group 'mime-security + :type 'boolean + :version "24.1") + (defcustom mml2015-encrypt-to-self nil "If t, add your own key ID to recipient list when encryption." :group 'mime-security @@ -959,7 +965,8 @@ (let* ((inhibit-redisplay t) (context (epg-make-context)) (boundary (mml-compute-boundary cont)) - (sender (message-options-get 'message-sender)) + (sender (when mml2015-sign-with-sender + message-options-get 'message-sender)) signer-key (signers (or (message-options-get 'mml2015-epg-signers) @@ -1034,7 +1041,8 @@ (let ((inhibit-redisplay t) (context (epg-make-context)) (config (epg-configuration)) - (sender (message-options-get 'message-sender)) + (sender (when mml2015-sign-with-sender + (message-options-get 'message-sender))) (recipients (message-options-get 'mml2015-epg-recipients)) cipher signers (boundary (mml-compute-boundary cont)) ------------------------------------------------------------ revno: 102994 committer: Chong Yidong branch nick: trunk timestamp: Thu 2011-01-27 16:41:47 -0500 message: Edit NEWS entries about selection changes. diff: === modified file 'etc/NEWS' --- etc/NEWS 2011-01-26 20:02:07 +0000 +++ etc/NEWS 2011-01-27 21:41:47 +0000 @@ -269,54 +269,48 @@ ** Selection changes. -The default handling of clipboard and primary selections has been -changed to conform with other X applications. The exact changes are -described below; in short, mouse commands to select and paste text now -use the primary selection, while all other commands for killing and -yanking text now use the clipboard. - -*** Merely selecting text (e.g. with drag-mouse-1) does not add it to -the kill-ring. On systems with a primary selection separate from the -clipboard (such as X), the selected text is put in the primary -selection. - -*** mouse-2 is now bound to `mouse-yank-primary', which pastes from -the primary selection regardless of the contents of the kill-ring. - -*** Commands that kill text or copy it to the kill-ring (M-w, C-w, -C-k, etc.) also put the killed text into the clipboard. This change -also means that the "Copy", "Cut", and "Paste" items in the "Edit" -menu are now exactly equivalent to, respectively M-w, C-w, and C-y. - -*** Yank commands, such as C-y and M-y, retrieve text from the -clipboard if it is available. - -*** The above changes are reflected in the following new defaults: - -**** `select-active-regions' now defaults to t. -It also accepts a new value, `only', which means to only set the -primary selection for temporarily active regions (usually made by -mouse-dragging or shift-selection). - -**** `mouse-2' is now bound to `mouse-yank-primary'. -Previously, it was bound to `mouse-yank-at-click' (which is now -unbound by default). - -**** `x-select-enable-clipboard' now defaults to t on all platforms. -Note that this variable was already non-nil by default on MS-Windows, -which does not support the primary selection between applications. - -**** `x-select-enable-primary' now defaults to nil. -This variable exists only on X; its default value was t in previous -versions. - -**** `mouse-drag-copy-region' now defaults to nil. - -*** To return to the previous behavior, where mouse commands use the -clipboard, change `mouse-drag-copy-region' and (on X only) -`x-select-enable-primary' to t. If you don't want Emacs to put the -text into the clipboard, only to the primary selection, additionally -set `x-select-enable-clipboard' to nil. +The default handling of clipboard and primary selections was changed +to conform with modern X applications. In short, most commands for +killing and yanking text now use the clipboard, while mouse commands +use the primary selection. + +In the following, we provide a list of these changes, followed by a +list of steps to get the old behavior back if you prefer that. + +*** `mouse-drag-copy-region' now defaults to nil. +*** `select-active-regions' now defaults to t. +Merely selecting text (e.g. with drag-mouse-1) no longer puts it in +the kill-ring. The selected text is put in the primary selection, if +the system possesses a separate primary selection facility (e.g. X). + +**** `select-active-regions' also accepts a new value, `only'. +This means to only set the primary selection for temporarily active +regions (usually made by mouse-dragging or shift-selection); +"ordinary" active regions, such as those made with C-SPC followed by +point motion, do not alter the primary selection. + +*** mouse-2 is now bound to `mouse-yank-primary'. +This pastes from the primary selection, ignoring the kill-ring. +Previously, mouse-2 was bound to `mouse-yank-at-click'. + +*** `x-select-enable-clipboard' now defaults to t on all platforms. +*** `x-select-enable-primary' now defaults to nil. +Thus, commands that kill text or copy it to the kill-ring (such as +M-w, C-w, and C-k) also use the clipboard---not the primary selection. + +**** The "Copy", "Cut", and "Paste" items in the "Edit" menu are now +exactly equivalent to, respectively M-w, C-w, and C-y. + +**** Note that on MS-Windows, `x-select-enable-clipboard' was already +non-nil by default, as Windows does not support the primary selection +between applications. + +*** To return to the previous behavior, do the following: + +**** Change `mouse-drag-copy-region' to t. +**** Change `x-select-enable-primary' to t (on X only). +**** Change `x-select-enable-clipboard' to nil. +**** Bind `mouse-yank-at-click' to mouse-2. *** Support for X cut buffers has been removed. ------------------------------------------------------------ revno: 102993 committer: Sam Steingold branch nick: trunk timestamp: Thu 2011-01-27 14:45:44 -0500 message: * lisp/midnight.el (clean-buffer-list-kill-never-buffer-names): Remove "*server*" which is never created by emacs server. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-01-27 17:51:06 +0000 +++ lisp/ChangeLog 2011-01-27 19:45:44 +0000 @@ -1,3 +1,8 @@ +2011-01-27 Sam Steingold + + * midnight.el (clean-buffer-list-kill-never-buffer-names): Remove + "*server*" which is never created by emacs server. + 2011-01-27 Deniz Dogan * vc/vc-bzr.el (vc-bzr-diff): Don't pass --diff-options unless === modified file 'lisp/midnight.el' --- lisp/midnight.el 2011-01-25 04:08:28 +0000 +++ lisp/midnight.el 2011-01-27 19:45:44 +0000 @@ -125,7 +125,7 @@ :group 'midnight) (defcustom clean-buffer-list-kill-never-buffer-names - '("*scratch*" "*Messages*" "*server*") + '("*scratch*" "*Messages*") "List of buffer names which will never be killed by `clean-buffer-list'. See also `clean-buffer-list-kill-never-regexps'. Note that this does override `clean-buffer-list-kill-regexps' and ------------------------------------------------------------ revno: 102992 committer: Deniz Dogan branch nick: emacs-trunk timestamp: Thu 2011-01-27 18:51:06 +0100 message: * vc/vc-bzr.el (vc-bzr-diff): Don't pass --diff-options unless there are some diff switches. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-01-27 17:07:48 +0000 +++ lisp/ChangeLog 2011-01-27 17:51:06 +0000 @@ -1,3 +1,8 @@ +2011-01-27 Deniz Dogan + + * vc/vc-bzr.el (vc-bzr-diff): Don't pass --diff-options unless + there are some diff switches. + 2011-01-27 Stefan Monnier * progmodes/ruby-mode.el (ruby-syntax-propertize-function): === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2011-01-25 04:08:28 +0000 +++ lisp/vc/vc-bzr.el 2011-01-27 17:51:06 +0000 @@ -674,18 +674,22 @@ (defun vc-bzr-diff (files &optional rev1 rev2 buffer) "VC bzr backend for diff." - ;; `bzr diff' exits with code 1 if diff is non-empty. - (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") - (if vc-disable-async-diff 1 'async) files - "--diff-options" (mapconcat 'identity - (vc-switches 'bzr 'diff) - " ") - ;; This `when' is just an optimization because bzr-1.2 is *much* - ;; faster when the revision argument is not given. - (when (or rev1 rev2) - (list "-r" (format "%s..%s" - (or rev1 "revno:-1") - (or rev2 "")))))) + (let* ((switches (vc-switches 'bzr 'diff)) + (args + (append + ;; Only add --diff-options if there are any diff switches. + (unless (zerop (length switches)) + (list "--diff-options" (mapconcat 'identity switches " "))) + ;; This `when' is just an optimization because bzr-1.2 is *much* + ;; faster when the revision argument is not given. + (when (or rev1 rev2) + (list "-r" (format "%s..%s" + (or rev1 "revno:-1") + (or rev2 ""))))))) + ;; `bzr diff' exits with code 1 if diff is non-empty. + (apply #'vc-bzr-command "diff" (or buffer "*vc-diff*") + (if vc-disable-async-diff 1 'async) files + args))) ;; FIXME: vc-{next,previous}-revision need fixing in vc.el to deal with ------------------------------------------------------------ revno: 102991 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2011-01-27 12:07:48 -0500 message: * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function): Copy change made to ruby-font-lock-syntactic-keywords. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-01-27 17:04:07 +0000 +++ lisp/ChangeLog 2011-01-27 17:07:48 +0000 @@ -1,5 +1,8 @@ 2011-01-27 Stefan Monnier + * progmodes/ruby-mode.el (ruby-syntax-propertize-function): + Copy change made to ruby-font-lock-syntactic-keywords. + * htmlfontify.el: Make it obey the font-lock-face text property. Miscellaneous cleanup such as: - Don't hide expressions after a closing paren. === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2011-01-26 08:36:39 +0000 +++ lisp/progmodes/ruby-mode.el 2011-01-27 17:07:48 +0000 @@ -1129,7 +1129,7 @@ (nth 3 (syntax-ppss (match-beginning 0)))) (string-to-syntax "\\")))) ;; regexps - ("\\(^\\|[=(,~?:;<>]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|g?sub!?\\|scan\\|split!?\\)\\s *\\(/\\)[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*\\(/\\)" + ("\\(^\\|[[=(,~?:;<>]\\|\\(^\\|\\s \\)\\(if\\|elsif\\|unless\\|while\\|until\\|when\\|and\\|or\\|&&\\|||\\)\\|g?sub!?\\|scan\\|split!?\\)\\s *\\(/\\)[^/\n\\\\]*\\(\\\\.[^/\n\\\\]*\\)*\\(/\\)" (4 "\"/") (6 "\"/")) ("^=en\\(d\\)\\_>" (1 "!")) ------------------------------------------------------------ revno: 102990 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2011-01-27 12:04:07 -0500 message: * lisp/htmlfontify.el: Make it obey the font-lock-face text property. Miscellaneous cleanup such as: - Don't hide expressions after a closing paren. - Move initial setq into let. - Hoist common parts out of ifs. (hfy-p-to-face, hfy-p-to-face-lennart): Remove. (hfy-face-at): Use get-text-property instead. (hfy-prop-invisible-p): Use invisible-p if available. (htmlfontify-manual): Use \\[...]. (hfy-html-quote-regex): Use [...]. (hfy-combined-face-spec): Simplify. (hfy-compile-face-map): Don't presume point-min==1. (hfy-css-name, hfy-buffer, htmlfontify-buffer): Use \' rather than $ to match end of string. (hfy-text-p): η-reduce. (hfy-tags-for-file): Receive cache-hash directly. (hfy-mark-tag-names): Adjust call. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-01-27 07:54:04 +0000 +++ lisp/ChangeLog 2011-01-27 17:04:07 +0000 @@ -1,3 +1,23 @@ +2011-01-27 Stefan Monnier + + * htmlfontify.el: Make it obey the font-lock-face text property. + Miscellaneous cleanup such as: + - Don't hide expressions after a closing paren. + - Move initial setq into let. + - Hoist common parts out of ifs. + (hfy-p-to-face, hfy-p-to-face-lennart): Remove. + (hfy-face-at): Use get-text-property instead. + (hfy-prop-invisible-p): Use invisible-p if available. + (htmlfontify-manual): Use \\[...]. + (hfy-html-quote-regex): Use [...]. + (hfy-combined-face-spec): Simplify. + (hfy-compile-face-map): Don't presume point-min==1. + (hfy-css-name, hfy-buffer, htmlfontify-buffer): Use \' rather than $ to + match end of string. + (hfy-text-p): η-reduce. + (hfy-tags-for-file): Receive cache-hash directly. + (hfy-mark-tag-names): Adjust call. + 2011-01-27 Glenn Morris * msb.el (msb-after-load-hooks): Make it an obsolete alias. === modified file 'lisp/htmlfontify.el' --- lisp/htmlfontify.el 2011-01-26 08:36:39 +0000 +++ lisp/htmlfontify.el 2011-01-27 17:04:07 +0000 @@ -108,13 +108,13 @@ `htmlfontify-load-rgb-file' `htmlfontify-unload-rgb-file'\n In order to:\n -fontify a file you have open: M-x htmlfontify-buffer -prepare the etags map for a directory: M-x htmlfontify-run-etags -copy a directory, fontifying as you go: M-x htmlfontify-copy-and-link-dir\n +fontify a file you have open: \\[htmlfontify-buffer] +prepare the etags map for a directory: \\[htmlfontify-run-etags] +copy a directory, fontifying as you go: \\[htmlfontify-copy-and-link-dir]\n The following might be useful when running non-windowed or in batch mode: \(note that they shouldn't be necessary - we have a built in map)\n -load an X11 style rgb.txt file: M-x htmlfontify-load-rgb-file -unload the current rgb.txt file: M-x htmlfontify-unload-rgb-file\n +load an X11 style rgb.txt file: \\[htmlfontify-load-rgb-file] +unload the current rgb.txt file: \\[htmlfontify-unload-rgb-file]\n And here's a programmatic example:\n \(defun rtfm-build-page-header (file style) (format \"#define TEMPLATE red+black.html @@ -150,10 +150,12 @@ :prefix "hfy-") (defcustom hfy-page-header 'hfy-default-header - "Function called with two arguments (the filename relative to the top + "Function called to build the header of the html source. +This is called with two arguments (the filename relative to the top level source directory being etag'd and fontified), and a string containing -the text to embed in the document- the string returned will -be used as the header for the htmlfontified version of the source file.\n +the text to embed in the document. +It should return the string returned will be used as the header for the +htmlfontified version of the source file.\n See also `hfy-page-footer'." :group 'htmlfontify ;; FIXME: Why place such a :tag everywhere? Isn't it imposing your @@ -162,16 +164,17 @@ :type '(function)) (defcustom hfy-split-index nil - "Whether or not to split the index `hfy-index-file' alphabetically -on the first letter of each tag. Useful when the index would otherwise + "Whether or not to split the index `hfy-index-file' alphabetically. +If non-nil, the index is split on the first letter of each tag. +Useful when the index would otherwise be large and take a long time to render or be difficult to navigate." :group 'htmlfontify :tag "split-index" :type '(boolean)) (defcustom hfy-page-footer 'hfy-default-footer - "As `hfy-page-header', but generates the output footer -\(and takes only one argument, the filename)." + "As `hfy-page-header', but generates the output footer. +It takes only one argument, the filename." :group 'htmlfontify :tag "page-footer" :type '(function)) @@ -204,7 +207,8 @@ :type '(choice string (const nil))) (defcustom hfy-link-style-fun 'hfy-link-style-string - "Set this to a function, which will be called with one argument + "Function to customize the appearance of hyperlinks. +Set this to a function, which will be called with one argument \(a \"{ foo: bar; ...}\" CSS style-string) - it should return a copy of its argument, altered so as to make any changes you want made for text which is a hyperlink, in addition to being in the class to which that style would @@ -227,7 +231,7 @@ :tag "instance-file" :type '(string)) -(defcustom hfy-html-quote-regex "\\(<\\|\"\\|&\\|>\\)" +(defcustom hfy-html-quote-regex "\\([<\"&>]\\)" "Regex to match (with a single back-reference per match) strings in HTML which should be quoted with `hfy-html-quote' (and `hfy-html-quote-map') to make them safe." @@ -555,7 +559,8 @@ (while sa (setq elt (car sa) sa (cdr sa)) - (if (memq elt set-b) (setq interq (cons elt interq)))) interq)) + (if (memq elt set-b) (setq interq (cons elt interq)))) + interq)) (defun hfy-colour-vals (colour) "Where COLOUR is a color name or #XXXXXX style triplet, return a @@ -586,7 +591,8 @@ (setq cperl-syntaxify-by-font-lock t))) (setq hfy-cperl-mode-kludged-p t))) ) -(defun hfy-opt (symbol) "Is option SYMBOL set." (memq symbol hfy-optimisations)) +(defun hfy-opt (symbol) "Is option SYMBOL set." + (memq symbol hfy-optimisations)) (defun hfy-default-header (file style) "Default value for `hfy-page-header'. @@ -717,7 +723,8 @@ (concat (replace-match hfy-src-doc-link-style 'fixed-case 'literal - style-string) " }") style-string)) + style-string) " }") + style-string)) ;; utility functions - cast emacs style specification values into their ;; css2 equivalents: @@ -835,11 +842,11 @@ "Return a `defface' style alist of possible specifications for FACE. Entries resulting from customization (`custom-set-faces') will take precedence." - (let ((spec nil)) - (setq spec (append (or (get face 'saved-face) (list)) - (or (get face 'face-defface-spec) (list)))) - (if (and hfy-display-class hfy-default-face-def (eq face 'default)) - (setq spec (append hfy-default-face-def spec))) spec)) + (append + (if (and hfy-display-class hfy-default-face-def (eq face 'default)) + hfy-default-face-def) + (get face 'saved-face) + (get face 'face-defface-spec))) (defun hfy-face-attr-for-class (face &optional class) "Return the face attributes for FACE. @@ -1045,10 +1052,9 @@ and return a `hfy-style-assoc'.\n See also `hfy-face-to-style-i', `hfy-flatten-style'." ;;(message "hfy-face-to-style");;DBUG - (let ((face-def (hfy-face-resolve-face fn)) - (final-style nil)) - - (setq final-style (hfy-flatten-style (hfy-face-to-style-i face-def))) + (let* ((face-def (hfy-face-resolve-face fn)) + (final-style + (hfy-flatten-style (hfy-face-to-style-i face-def)))) ;;(message "%S" final-style) (if (not (assoc "text-decoration" final-style)) (progn (setq final-style @@ -1090,8 +1096,9 @@ (string-match "^[Ii]nfo-\\(.*\\)" face-name)) (progn (setq face-name (match-string 1 face-name)) - (if (string-match "\\(.*\\)-face$" face-name) - (setq face-name (match-string 1 face-name))) face-name) + (if (string-match "\\(.*\\)-face\\'" face-name) + (setq face-name (match-string 1 face-name))) + face-name) face-name)) ) ;; construct an assoc of (stripped-name . "{ css-stuff-here }") pairs @@ -1101,91 +1108,45 @@ and return a CSS style specification.\n See also `hfy-face-to-style'." ;;(message "hfy-face-to-css");;DBUG - (let ((css-list nil) - (css-text nil) - (seen nil)) - ;;(message "(hfy-face-to-style %S)" fn) - (setq css-list (hfy-face-to-style fn)) - (setq css-text + (let* ((css-list (hfy-face-to-style fn)) + (seen nil) + (css-text (mapcar (lambda (E) (if (car E) (unless (member (car E) seen) (push (car E) seen) (format " %s: %s; " (car E) (cdr E))))) - css-list)) + css-list))) (cons (hfy-css-name fn) (format "{%s}" (apply 'concat css-text)))) ) -;; extract a face from a list of char properties, if there is one: -(defun hfy-p-to-face (props) - "Given PROPS, a list of text properties, return the value of the face -property, or nil." - (if props - (if (string= (car props) "face") - (let ((propval (cadr props))) - (if (and (listp propval) (not (cdr propval))) - (car propval) - propval)) - (hfy-p-to-face (cddr props))) - nil)) - -(defun hfy-p-to-face-lennart (props) - "Given PROPS, a list of text properties, return the value of the face -property, or nil." - (when props - (let ((face (plist-get props 'face)) - (font-lock-face (plist-get props 'font-lock-face)) - (button (plist-get props 'button)) - ;;(face-rec (memq 'face props)) - ;;(button-rec (memq 'button props))) - ) - (if button - (let* ((category (plist-get props 'category)) - (face (when category (plist-get (symbol-plist category) 'face)))) - face) - (or font-lock-face - face))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; (defun hfy-get-face-at (pos) -;; ;; (let ((face (get-char-property-and-overlay pos 'face))) -;; ;; (when (and face (listp face)) (setq face (car face))) -;; ;; (unless (listp face) -;; ;; face))) -;; ;;(get-char-property pos 'face) -;; ;; Overlays are handled later -;; (if (or (not show-trailing-whitespace) -;; (not (get-text-property pos 'hfy-show-trailing-whitespace))) -;; (get-text-property pos 'face) -;; (list 'trailing-whitespace (get-text-property pos 'face))) -;; ) - -(defun hfy-prop-invisible-p (prop) - "Is text property PROP an active invisibility property?" - (or (and (eq buffer-invisibility-spec t) prop) - (or (memq prop buffer-invisibility-spec) - (assq prop buffer-invisibility-spec)))) +(defalias 'hfy-prop-invisible-p + (if (fboundp 'invisible-p) #'invisible-p + (lambda (prop) + "Is text property PROP an active invisibility property?" + (or (and (eq buffer-invisibility-spec t) prop) + (or (memq prop buffer-invisibility-spec) + (assq prop buffer-invisibility-spec)))))) (defun hfy-find-invisible-ranges () "Return a list of (start-point . end-point) cons cells of invisible regions." - (let (invisible p i e s) ;; return-value pos invisible end start - (save-excursion + (save-excursion + (let (invisible p i s) ;; return-value pos invisible end start (setq p (goto-char (point-min))) (when (invisible-p p) (setq s p i t)) (while (< p (point-max)) (if i ;; currently invisible (when (not (invisible-p p)) ;; but became visible - (setq e p - i nil - invisible (cons (cons s e) invisible))) + (setq i nil + invisible (cons (cons s p) invisible))) ;; currently visible: (when (invisible-p p) ;; but have become invisible (setq s p i t))) (setq p (next-char-property-change p))) ;; still invisible at buffer end? (when i - (setq e (point-max) - invisible (cons (cons s e) invisible))) ) invisible)) + (setq invisible (cons (cons s (point-max)) invisible))) + invisible))) (defun hfy-invisible-name (point map) "Generate a CSS style name for an invisible section of the buffer. @@ -1215,9 +1176,7 @@ ;; not sure why we'd want to remove face-name? -- v (let ((overlay-data nil) (base-face nil) - ;; restored hfy-p-to-face as it handles faces like (bold) as - ;; well as face like 'bold - hfy-get-face-at doesn't dtrt -- v - (face-name (hfy-p-to-face (text-properties-at p))) + (face-name (get-text-property p 'face)) ;; (face-name (hfy-get-face-at p)) (prop-seen nil) (extra-props nil) @@ -1333,9 +1292,9 @@ extra-props (cons p (cons v extra-props)))))))))) ;;(message "+ %d: %s; %S" p face-name extra-props) (if extra-props - (if (listp face-name) - (nconc extra-props face-name) - (nconc extra-props (face-attr-construct face-name))) + (nconc extra-props (if (listp face-name) + face-name + (face-attr-construct face-name))) face-name)) )) (defun hfy-overlay-props-at (p) @@ -1378,7 +1337,8 @@ (goto-char pt) (while (and (< pt (point-max)) (not face-name)) (setq face-name (hfy-face-at pt)) - (setq pt (next-char-property-change pt)))) face-name) + (setq pt (next-char-property-change pt)))) + face-name) font-lock-mode))) ;; remember, the map is in reverse point order: @@ -1441,12 +1401,13 @@ ;; Fix-me: save table for multi-buffer "Compile and return a `hfy-facemap-assoc' for the current buffer." ;;(message "hfy-compile-face-map");;DBUG - (let ((pt (point-min)) - (pt-narrow 1) - (fn nil) - (map nil) - (prev-tag nil)) ;; t if the last tag-point was a span-start - ;; nil if it was a span-stop + (let* ((pt (point-min)) + (pt-narrow (save-restriction (widen) (point-min))) + (offset (- pt pt-narrow)) + (fn nil) + (map nil) + (prev-tag nil)) ;; t if the last tag-point was a span-start + ;; nil if it was a span-stop (save-excursion (goto-char pt) (while (< pt (point-max)) @@ -1457,7 +1418,7 @@ (if prev-tag (push (cons pt-narrow 'end) map)) (setq prev-tag nil)) (setq pt (next-char-property-change pt)) - (setq pt-narrow (1+ (- pt (point-min))))) + (setq pt-narrow (+ offset pt))) (if (and map (not (eq 'end (cdar map)))) (push (cons (- (point-max) (point-min)) 'end) map))) (if (hfy-opt 'merge-adjacent-tags) (hfy-merge-adjacent-spans map) map))) @@ -1474,7 +1435,7 @@ (with-current-buffer buf (setq buffer-file-name (if src (concat src hfy-extn) - (expand-file-name (if (string-match "^.*/\\([^/]*\\)$" name) + (expand-file-name (if (string-match "^.*/\\([^/]*\\)\\'" name) (match-string 1 name) name)))) buf))) @@ -1492,23 +1453,22 @@ (defun hfy-sprintf-stylesheet (css file) "Return the inline CSS style sheet for FILE as a string." - (let ((stylesheet nil)) - (setq stylesheet - (concat - hfy-meta-tags - "\n\n")) + (let ((stylesheet + (concat + hfy-meta-tags + "\n\n"))) (funcall hfy-page-header file stylesheet))) ;; tag all the dangerous characters we want to escape @@ -1698,33 +1658,32 @@ ;; (message "checking to see whether we should link...") (if (and srcdir file) (let ((lp 'hfy-link) - (pt nil) + (pt (point-min)) (pr nil) (rr nil)) ;; (message " yes we should.") - ;; translate 'hfy-anchor properties to anchors - (setq pt (point-min)) - (while (setq pt (next-single-property-change pt 'hfy-anchor)) - (if (setq pr (get-text-property pt 'hfy-anchor)) - (progn (goto-char pt) - (remove-text-properties pt (1+ pt) '(hfy-anchor nil)) - (insert (concat ""))))) - ;; translate alternate 'hfy-link and 'hfy-endl props to opening - ;; and closing links. (this should avoid those spurious closes - ;; we sometimes get by generating only paired tags) - (setq pt (point-min)) - (while (setq pt (next-single-property-change pt lp)) - (if (not (setq pr (get-text-property pt lp))) nil - (goto-char pt) - (remove-text-properties pt (1+ pt) (list lp nil)) - (case lp - (hfy-link - (if (setq rr (get-text-property pt 'hfy-inst)) - (insert (format "" rr))) - (insert (format "" pr)) - (setq lp 'hfy-endl)) - (hfy-endl - (insert "") (setq lp 'hfy-link)) ))) )) + ;; translate 'hfy-anchor properties to anchors + (while (setq pt (next-single-property-change pt 'hfy-anchor)) + (if (setq pr (get-text-property pt 'hfy-anchor)) + (progn (goto-char pt) + (remove-text-properties pt (1+ pt) '(hfy-anchor nil)) + (insert (concat ""))))) + ;; translate alternate 'hfy-link and 'hfy-endl props to opening + ;; and closing links. (this should avoid those spurious closes + ;; we sometimes get by generating only paired tags) + (setq pt (point-min)) + (while (setq pt (next-single-property-change pt lp)) + (if (not (setq pr (get-text-property pt lp))) nil + (goto-char pt) + (remove-text-properties pt (1+ pt) (list lp nil)) + (case lp + (hfy-link + (if (setq rr (get-text-property pt 'hfy-inst)) + (insert (format "" rr))) + (insert (format "" pr)) + (setq lp 'hfy-endl)) + (hfy-endl + (insert "") (setq lp 'hfy-link)) ))) )) ;; ##################################################################### ;; transform the dangerous chars. This changes character positions @@ -1790,7 +1749,7 @@ ;; pick up the file name in case we didn't receive it (if (not file) (progn (setq file (or (buffer-file-name) (buffer-name))) - (if (string-match "/\\([^/]*\\)$" file) + (if (string-match "/\\([^/]*\\)\\'" file) (setq file (match-string 1 file)))) ) (if (not (hfy-opt 'skip-refontification)) @@ -1833,7 +1792,7 @@ "Is SRCDIR/FILE text? Uses `hfy-istext-command' to determine this." (let* ((cmd (format hfy-istext-command (expand-file-name file srcdir))) (rsp (shell-command-to-string cmd))) - (if (string-match "text" rsp) t nil))) + (string-match "text" rsp))) ;; open a file, check fontification, if fontified, write a fontified copy ;; to the destination directory, otherwise just copy the file: @@ -1866,18 +1825,17 @@ (kill-buffer source)) )) ;; list of tags in file in srcdir -(defun hfy-tags-for-file (srcdir file) +(defun hfy-tags-for-file (cache-hash file) "List of etags tags that have definitions in this FILE. -Looks up the tags cache in `hfy-tags-cache' using SRCDIR as the key." +CACHE-HASH is the tags cache." ;;(message "hfy-tags-for-file");;DBUG - (let ((cache-entry (assoc srcdir hfy-tags-cache)) - (cache-hash nil) - (tag-list nil)) - (if (setq cache-hash (cadr cache-entry)) + (let* ((tag-list nil)) + (if cache-hash (maphash (lambda (K V) (if (assoc file V) - (setq tag-list (cons K tag-list)))) cache-hash)) + (setq tag-list (cons K tag-list)))) + cache-hash)) tag-list)) ;; mark the tags native to this file for anchors @@ -1885,9 +1843,9 @@ "Mark tags in FILE (lookup SRCDIR in `hfy-tags-cache') with the `hfy-anchor' property, with a value of \"tag.line-number\"." ;;(message "(hfy-mark-tag-names %s %s)" srcdir file);;DBUG - (let ((cache-entry (assoc srcdir hfy-tags-cache)) - (cache-hash nil)) - (if (setq cache-hash (cadr cache-entry)) + (let* ((cache-entry (assoc srcdir hfy-tags-cache)) + (cache-hash (cadr cache-entry))) + (if cache-hash (mapcar (lambda (TAG) (mapcar @@ -1900,7 +1858,7 @@ (+ 2 chr) 'hfy-anchor link)))) (gethash TAG cache-hash))) - (hfy-tags-for-file srcdir file))))) + (hfy-tags-for-file cache-hash file))))) (defun hfy-relstub (file &optional start) "Return a \"../\" stub of the appropriate length for the current source @@ -1909,7 +1867,8 @@ ;;(message "hfy-relstub");;DBUG (let ((c "")) (while (setq start (string-match "/" file start)) - (setq start (1+ start)) (setq c (concat c "../"))) c)) + (setq start (1+ start)) (setq c (concat c "../"))) + c)) (defun hfy-href-stub (this-file def-files tag) "Return an href stub for a tag href in THIS-FILE. @@ -2183,7 +2142,9 @@ dstdir hfy-index-file stub) - index-list)) ))) cache-hash) ) index-list))) + index-list)) ))) + cache-hash) ) + index-list))) (defun hfy-prepare-tag-map (srcdir dstdir) "Prepare the counterpart(s) to the index buffer(s) - a list of buffers @@ -2215,7 +2176,9 @@ hfy-instance-file stub hfy-tags-rmap) - index-list)) ))) cache-hash) ) index-list))) + index-list)) ))) + cache-hash) ) + index-list))) (defun hfy-subtract-maps (srcdir) "Internal function - strips definitions of tags from the instance map. @@ -2242,8 +2205,7 @@ "Load the etags cache for SRCDIR. See also `hfy-load-tags-cache'." (interactive "D source directory: ") - (setq srcdir (directory-file-name srcdir)) - (hfy-load-tags-cache srcdir)) + (hfy-load-tags-cache (directory-file-name srcdir))) ;;(defun hfy-test-read-args (foo bar) ;; (interactive "D source directory: \nD target directory: ") @@ -2296,7 +2258,7 @@ ;; (defalias 'hfy-set-hooks 'custom-set-variables) ;; (defun hfy-pp-hook (H) -;; (and (string-match "-hook$" (symbol-name H)) +;; (and (string-match "-hook\\'" (symbol-name H)) ;; (boundp H) ;; (symbol-value H) ;; (insert (format "\n '(%S %S)" H (symbol-value H))) ------------------------------------------------------------ revno: 102989 committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2011-01-27 13:20:55 +0000 message: shr.el (shr-expand-newlines, shr-previous-newline-padding-width): Use plist-get instead of the cl function getf. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 10:27:51 +0000 +++ lisp/gnus/ChangeLog 2011-01-27 13:20:55 +0000 @@ -1,3 +1,8 @@ +2011-01-27 Katsumi Yamaoka + + * shr.el (shr-expand-newlines, shr-previous-newline-padding-width): + Use plist-get instead of the cl function getf. + 2011-01-27 Glenn Morris * gnus-util.el (float-time): Get rid of compiler warning, again. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-01-27 10:27:51 +0000 +++ lisp/gnus/shr.el 2011-01-27 13:20:55 +0000 @@ -649,8 +649,9 @@ (concat (mapconcat (lambda (overlay) - (let ((string (getf (overlay-properties overlay) - 'before-string))) + (let ((string (plist-get + (overlay-properties overlay) + 'before-string))) (if (not string) "" (overlay-put overlay 'before-string "") @@ -669,7 +670,8 @@ (dolist (overlay overlays) (setq previous-width (+ previous-width - (length (getf (overlay-properties overlay) 'before-string))))) + (length (plist-get (overlay-properties overlay) + 'before-string))))) (+ width previous-width)))) (defun shr-put-color-1 (start end type color) ------------------------------------------------------------ revno: 102988 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2011-01-27 10:27:51 +0000 message: shr.el (shr-put-color): Special-case background colours: Do put them at the blank parts at the front of the lines. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 08:38:43 +0000 +++ lisp/gnus/ChangeLog 2011-01-27 10:27:51 +0000 @@ -4,6 +4,9 @@ 2011-01-27 Lars Ingebrigtsen + * shr.el (shr-put-color): Special-case background colours: Do put them + at the blank parts at the front of the lines. + * gnus-draft.el (gnus-draft-clear-marks): New function to be run as an exit hook to nix out all data on readedness on group exit. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-01-27 04:04:58 +0000 +++ lisp/gnus/shr.el 2011-01-27 10:27:51 +0000 @@ -612,7 +612,8 @@ (save-excursion (goto-char start) (while (< (point) end) - (when (bolp) + (when (and (bolp) + (not (eq type :background))) (skip-chars-forward " ")) (when (> (line-end-position) (point)) (shr-put-color-1 (point) (min (line-end-position) end) type color)) ------------------------------------------------------------ revno: 102987 committer: Glenn Morris branch nick: trunk timestamp: Thu 2011-01-27 00:38:43 -0800 message: * lisp/gnus/gnus-util.el (float-time): Get rid of compiler warning, again. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-01-27 04:04:58 +0000 +++ lisp/gnus/ChangeLog 2011-01-27 08:38:43 +0000 @@ -1,3 +1,7 @@ +2011-01-27 Glenn Morris + + * gnus-util.el (float-time): Get rid of compiler warning, again. + 2011-01-27 Lars Ingebrigtsen * gnus-draft.el (gnus-draft-clear-marks): New function to be run as an === modified file 'lisp/gnus/gnus-util.el' --- lisp/gnus/gnus-util.el 2011-01-27 04:04:58 +0000 +++ lisp/gnus/gnus-util.el 2011-01-27 08:38:43 +0000 @@ -333,8 +333,11 @@ (and (= (car fdate) (car date)) (> (nth 1 fdate) (nth 1 date)))))) +;; Every version of Emacs Gnus supports has built-in float-time. +;; The featurep test silences an irritating compiler warning. (eval-and-compile - (if (fboundp 'float-time) + (if (or (featurep 'emacs) + (fboundp 'float-time)) (defalias 'gnus-float-time 'float-time) (defun gnus-float-time (&optional time) "Convert time value TIME to a floating point number. ------------------------------------------------------------ revno: 102986 committer: Glenn Morris branch nick: trunk timestamp: Wed 2011-01-26 23:54:04 -0800 message: msb.el trivia. * lisp/msb.el (msb-after-load-hooks): Make it an obsolete alias. (msb-after-load-hook): Remove eval-after-load wackiness. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-01-27 07:19:26 +0000 +++ lisp/ChangeLog 2011-01-27 07:54:04 +0000 @@ -1,3 +1,8 @@ +2011-01-27 Glenn Morris + + * msb.el (msb-after-load-hooks): Make it an obsolete alias. + (msb-after-load-hook): Remove eval-after-load wackiness. + 2011-01-25 Sam Steingold * vc/vc-svn.el (vc-svn-diff): Use `diff-command' instead of the === modified file 'lisp/msb.el' --- lisp/msb.el 2011-01-25 04:08:28 +0000 +++ lisp/msb.el 2011-01-27 07:54:04 +0000 @@ -364,6 +364,9 @@ :set 'msb-custom-set :group 'msb) +(define-obsolete-variable-alias 'msb-after-load-hooks + 'msb-after-load-hook "24.1") + (defcustom msb-after-load-hook nil "Hook run after the msb package has been loaded." :type 'hook @@ -1151,6 +1154,6 @@ nil) (provide 'msb) -(eval-after-load "msb" '(run-hooks 'msb-after-load-hook 'msb-after-load-hooks)) +(run-hooks 'msb-after-load-hook) ;;; msb.el ends here ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.