commit 25346768fac53687c97c213fb99ff18fa805b073 (HEAD, refs/remotes/origin/master) Author: Paul Eggert Date: Tue Dec 30 23:29:33 2014 -0800 Simplify setfattr use by assuming GNU make * Makefile.in (PAXCTL_if_present, SETFATTR_if_present): New macros. (emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): Use them. Simplify by using GNU make rather than shell conditionals, by using ln -f rather than rm -f followed by ln, and by preferring $@ to spelling out the destination. diff --git a/src/ChangeLog b/src/ChangeLog index 51e8d11..85eb113 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2014-12-31 Paul Eggert + + Simplify setfattr use by assuming GNU make + * Makefile.in (PAXCTL_if_present, SETFATTR_if_present): New macros. + (emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): Use them. + Simplify by using GNU make rather than shell conditionals, + by using ln -f rather than rm -f followed by ln, + and by preferring $@ to spelling out the destination. + 2014-12-29 Eli Zaretskii * sysdep.c [WINDOWSNT]: Include sys/socket.h, without which this diff --git a/src/Makefile.in b/src/Makefile.in index 00ac04a..812f3e2 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -114,6 +114,8 @@ TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) ## around this, newer ones setfattr. See Bug#11398 and Bug#16343. PAXCTL = @PAXCTL@ SETFATTR = @SETFATTR@ +PAXCTL_if_present = $(or $(PAXCTL),: paxctl) +SETFATTR_if_present = $(or $(SETFATTR),: setfattr) ## Some systems define this to request special libraries. LIBS_SYSTEM=@LIBS_SYSTEM@ @@ -449,17 +451,13 @@ $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ emacs$(EXEEXT): temacs$(EXEEXT) \ $(etc)/DOC $(lisp) $(leimdir)/leim-list.el \ $(lispsource)/international/charprop.el - if test "$(CANNOT_DUMP)" = "yes"; then \ - rm -f emacs$(EXEEXT); \ - ln temacs$(EXEEXT) emacs$(EXEEXT); \ - else \ - LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \ - test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \ - while test -f bootstrap-emacs$(EXEEXT); do \ - rm -f bootstrap-emacs$(EXEEXT); \ - done; \ - ln emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ - fi +ifeq ($(CANNOT_DUMP),yes) + ln -f temacs$(EXEEXT) $@ +else + LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump + $(PAXCTL_if_present) -zex $@ + ln -f $@ bootstrap-emacs$(EXEEXT) +endif ## We run make-docfile twice because the command line may get too long ## on some systems. The sed command operating on lisp.mk also reduces @@ -517,10 +515,10 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \ $(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \ -o temacs $(ALLOBJS) $(lib)/libgnu.a $(W32_RES_LINK) $(LIBES) $(MKDIR_P) $(etc) - test "$(CANNOT_DUMP)" = "yes" || \ - test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT) - test "$(CANNOT_DUMP)" = "yes" || test -z "$(SETFATTR)" || \ - $(SETFATTR) -n user.pax.flags -v er $@ +ifneq ($(CANNOT_DUMP),yes) + $(PAXCTL_if_present) -r $@ + $(SETFATTR_if_present) -n user.pax.flags -v er $@ +endif ## The following oldxmenu-related rules are only (possibly) used if ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them. @@ -652,14 +650,13 @@ $(lispsource)/loaddefs.el: $(VCSWITNESS) | bootstrap-emacs$(EXEEXT) ## files from loadup.el in source form. bootstrap-emacs$(EXEEXT): temacs$(EXEEXT) $(MAKE) -C ../lisp update-subdirs - if test "$(CANNOT_DUMP)" = "yes"; then \ - rm -f bootstrap-emacs$(EXEEXT); \ - ln temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ - else \ - $(RUN_TEMACS) --batch --load loadup bootstrap || exit 1; \ - test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \ - mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ - fi +ifeq ($(CANNOT_DUMP),yes) + ln -f temacs$(EXEEXT) $@ +else + $(RUN_TEMACS) --batch --load loadup bootstrap + $(PAXCTL_if_present) -zex emacs$(EXEEXT) + mv -f emacs$(EXEEXT) $@ +endif @: Compile some files earlier to speed up further compilation. $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)" commit 6654a4ce49b9eb76a1e5b911516a8d1b247b7c30 Author: Paul Eggert Date: Tue Dec 30 16:00:03 2014 -0800 * Makefile.in (semantic): Simplify. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4be97b5..4203e05 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2014-12-30 Paul Eggert + + * Makefile.in (semantic): Simplify. + 2014-12-30 Juri Linkov * net/eww.el (eww-isearch-next-buffer): New function. diff --git a/lisp/Makefile.in b/lisp/Makefile.in index f22ca69..ba2a229 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -325,13 +325,8 @@ compile-clean: leim: $(MAKE) -C ../leim all EMACS="$(EMACS)" -# FIXME. Yuck. semantic: - case ${EMACS} in \ - .*) EMACS="../${EMACS}" ;; \ - *) EMACS="${EMACS}" ;; \ - esac; \ - $(MAKE) -C ../admin/grammars all EMACS="$${EMACS}" + $(MAKE) -C ../admin/grammars all EMACS="$(EMACS:.%=../.%)" # Compile all Lisp files, but don't recompile those that are up to # date. Some .el files don't get compiled because they set the commit 5480b8ef252bece2ad225af8898b71ad931f3924 Author: Juri Linkov Date: Wed Dec 31 01:50:06 2014 +0200 Multi-page isearch support in eww * lisp/net/eww.el (eww-isearch-next-buffer): New function. (eww-mode): Set multi-isearch-next-buffer-function to it. http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg02300.html diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9bbc92e..4be97b5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-12-30 Juri Linkov + + * net/eww.el (eww-isearch-next-buffer): New function. + (eww-mode): Set multi-isearch-next-buffer-function to it. + 2014-12-30 Dmitry Gutov * progmodes/xref.el (xref-find-definitions): Mention "no diff --git a/lisp/net/eww.el b/lisp/net/eww.el index b43dba5..af902de 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -705,6 +705,8 @@ the like." (setq-local tool-bar-map eww-tool-bar-map)) ;; desktop support (setq-local desktop-save-buffer 'eww-desktop-misc-data) + ;; multi-page isearch support + (setq-local multi-isearch-next-buffer-function 'eww-isearch-next-buffer) (setq truncate-lines t) (buffer-disable-undo) (setq buffer-read-only t)) @@ -1885,6 +1887,19 @@ Otherwise, the restored buffer will contain a prompt to do so by using (add-to-list 'desktop-buffer-mode-handlers '(eww-mode . eww-restore-desktop)) +;;; Isearch support + +(defun eww-isearch-next-buffer (&optional buffer wrap) + "Go to the next page to search using `rel' attribute for navigation." + (if wrap + (condition-case nil + (eww-top-url) + (error nil)) + (if isearch-forward + (eww-next-url) + (eww-previous-url))) + (current-buffer)) + (provide 'eww) ;;; eww.el ends here commit 0d7f85fbca16fbbce83e8d41387218c97c09cf45 Author: Dmitry Gutov Date: Tue Dec 30 21:54:03 2014 +0200 (xref-find-definitions): Mention "no identifier at point" case * lisp/progmodes/xref.el (xref-find-definitions): Mention "no identifier at point" case in the docstring. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6249a30..9bbc92e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2014-12-30 Dmitry Gutov + * progmodes/xref.el (xref-find-definitions): Mention "no + identifier at point" case in the docstring. + * menu-bar.el (menu-bar-goto-uses-etags-p): New function. (menu-bar-goto-menu): Use it to show or hide the `set-tags-name' and `separator-tag-file' items. diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 8221aeb..f3dc4bd 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -467,7 +467,8 @@ Return an alist of the form ((FILENAME . (XREF ...)) ...)." ;;;###autoload (defun xref-find-definitions (identifier) "Find the definition of the identifier at point. -With prefix argument, prompt for the identifier." +With prefix argument or when there's no identifier at point, +prompt for it." (interactive (list (xref--read-identifier "Find definitions of: "))) (xref--find-definitions identifier nil)) commit 01827de4518c8da974821da0439f2ad4984d49da Author: Martin Rudalics Date: Tue Dec 30 10:56:43 2014 +0100 Update documentation of Temporary Displays. * display.texi (Temporary Displays): Amend description of `with-temp-buffer-window'. Add descriptions for `with-current-buffer-window', `with-displayed-buffer-window' and `temp-buffer-resize-mode', `temp-buffer-max-height' and `temp-buffer-max-width'. * frame.c (frame_inhibit_implied_resize): Escape left paren in doc-string. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ad9af13..c9f576a 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,11 @@ +2014-12-30 Martin Rudalics + + * display.texi (Temporary Displays): Amend description of + `with-temp-buffer-window'. Add descriptions for + `with-current-buffer-window', `with-displayed-buffer-window' and + `temp-buffer-resize-mode', `temp-buffer-max-height' and + `temp-buffer-max-width'. + 2014-12-27 Glenn Morris * control.texi (Pattern matching case statement): diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index e26d649..14a98f3 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1194,12 +1194,6 @@ it prints into the buffer named @var{buffer-or-name} and displays that buffer in some window. Unlike @code{with-output-to-temp-buffer}, however, it does not automatically switch that buffer to Help mode. -Like @code{with-output-to-temp-buffer} it neither makes the buffer -specified by @var{buffer-or-name} current when executing @var{body}. -@findex with-current-buffer-window -The otherwise identical macro @code{with-current-buffer-window} can be -used to execute @var{body} with that buffer current. - The argument @var{buffer-or-name} specifies the temporary buffer. It can be either a buffer, which must already exist, or a string, in which case a buffer of that name is created, if necessary. The buffer is @@ -1207,14 +1201,14 @@ marked as unmodified and read-only when @code{with-temp-buffer-window} exits. This macro does not call @code{temp-buffer-show-function}. Rather, it -passes the @var{action} argument to @code{display-buffer} in order to -display the buffer. +passes the @var{action} argument to @code{display-buffer} +(@pxref{Choosing Window}) in order to display the buffer. The value of the last form in @var{body} is returned, unless the argument @var{quit-function} is specified. In that case, it is called with two arguments: the window showing the buffer and the result of -@var{body}. The final return value is then whatever -@var{quit-function} returns. +@var{body}. The final return value is then whatever @var{quit-function} +returns. @vindex temp-buffer-window-setup-hook @vindex temp-buffer-window-show-hook @@ -1223,6 +1217,56 @@ and @code{temp-buffer-window-show-hook} in place of the analogous hooks run by @code{with-output-to-temp-buffer}. @end defmac +The two constructs described next are mostly identical to +@code{with-temp-buffer-window} but differ from it as specified: + +@defmac with-current-buffer-window buffer-or-name action quit-function &rest body +This macro is like @code{with-temp-buffer-window} but unlike that makes +the buffer specified by @var{buffer-or-name} current for running +@var{body}. +@end defmac + +@defmac with-displayed-buffer-window buffer-or-name action quit-function &rest body +This macro is like @code{with-current-buffer-window} but unlike that +displays the buffer specified by @var{buffer-or-name} @emph{before} +running @var{body}. +@end defmac + +A window showing a temporary buffer can be fit to the size of that +buffer using the following mode: + +@defopt temp-buffer-resize-mode +When this minor mode is enabled, windows showing a temporary buffer are +automatically resized to fit their buffer's contents. + +A window is resized if and only if it has been specially created for the +buffer. In particular, windows that have shown another buffer before +are not resized. By default, this mode uses @code{fit-window-to-buffer} +(@pxref{Resizing Windows}) for resizing. You can specify a different +function by customizing the options @code{temp-buffer-max-height} and +@code{temp-buffer-max-width} below. +@end defopt + +@defopt temp-buffer-max-height +This option specifies the maximum height (in lines) of a window +displaying a temporary buffer when @code{temp-buffer-resize-mode} is +enabled. It can also be a function to be called to choose the height +for such a buffer. It gets one argument, the buffer, and should return +a positive integer. At the time the function is called, the window to +be resized is selected. +@end defopt + +@defopt temp-buffer-max-width +This option specifies the maximum width of a window (in columns) +displaying a temporary buffer when @code{temp-buffer-resize-mode} is +enabled. It can also be a function to be called to choose the width for +such a buffer. It gets one argument, the buffer, and should return a +positive integer. At the time the function is called, the window to be +resized is selected. +@end defopt + +The following function uses the current buffer for temporal display: + @defun momentary-string-display string position &optional char message This function momentarily displays @var{string} in the current buffer at @var{position}. It has no effect on the undo list or on the buffer's diff --git a/src/frame.c b/src/frame.c index 2ad1c1b5..82a85bc 100644 --- a/src/frame.c +++ b/src/frame.c @@ -5057,7 +5057,7 @@ keep it unchanged if this option is either `t' or a list containing `vertical-scroll-bars'. The default value is '(tool-bar-lines) on Lucid, Motif and Windows -(which means that adding/removing a tool bar does not change the frame +\(which means that adding/removing a tool bar does not change the frame height), nil on all other window systems including GTK+ (which means that changing any of the parameters listed above may change the size of the frame), and `t' otherwise (which means the frame size never changes