Now on revision 113140. ------------------------------------------------------------ revno: 113140 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-06-22 18:48:23 -0700 message: Remove some doc/misc/Makefile.in stuff that is not needed any more * doc/misc/Makefile.in (HTML_TARGETS, html, emacs-faq.html, emacs-faq): Remove; not needed now we use a standard html layout for the faq. (clean): Remove HTML_TARGETS, emacs-faq.text. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2013-06-21 14:36:13 +0000 +++ doc/misc/ChangeLog 2013-06-23 01:48:23 +0000 @@ -1,3 +1,9 @@ +2013-06-23 Glenn Morris + + * Makefile.in (HTML_TARGETS, html, emacs-faq.html, emacs-faq): + Remove; not needed now we use a standard html layout for the faq. + (clean): Remove HTML_TARGETS, emacs-faq.text. + 2013-06-21 Eduard Wiebe * flymake.texi (Parsing the output, Customizable variables): === modified file 'doc/misc/Makefile.in' --- doc/misc/Makefile.in 2013-06-19 07:01:22 +0000 +++ doc/misc/Makefile.in 2013-06-23 01:48:23 +0000 @@ -163,8 +163,6 @@ wisent.pdf \ woman.pdf -HTML_TARGETS = emacs-faq.html - TEXI2DVI = texi2dvi TEXI2PDF = texi2pdf @@ -194,8 +192,6 @@ dvi: $(DVI_TARGETS) -html: $(HTML_TARGETS) - pdf: $(PDF_TARGETS) # Note that all the Info targets build the Info files in srcdir. @@ -402,15 +398,6 @@ $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi faq.pdf: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi -## This is the name used on the Emacs web-page. -## sed fixes up links to point to split version of the manual. -emacs-faq.html: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) --no-split \ - --css-ref='/layout.css' --html -o $@ ${srcdir}/faq.texi - sed -i -e 's|a href="\([a-z]*\)\.html#\([^"]*\)"|a href="manual/html_node/\1/\2.html"|g' \ - -e 's|/Top\.html|/|g' $@ -emacs-faq.text: ${srcdir}/faq.texi $(emacsdir)/emacsver.texi - $(MAKEINFO) $(MAKEINFO_OPTS) --plaintext -o $@ ${srcdir}/faq.texi flymake : $(buildinfodir)/flymake$(INFO_EXT) $(buildinfodir)/flymake$(INFO_EXT): ${srcdir}/flymake.texi ${gfdl} @@ -720,7 +707,7 @@ rm -f gnustmp.* clean: mostlyclean - rm -f $(DVI_TARGETS) $(PDF_TARGETS) $(HTML_TARGETS) emacs-faq.text + rm -f $(DVI_TARGETS) $(PDF_TARGETS) rm -f emacs-misc-${version}.tar* distclean: clean ------------------------------------------------------------ revno: 113139 committer: Stefan Monnier branch nick: trunk timestamp: Sat 2013-06-22 16:09:19 -0400 message: * lisp/emacs-lisp/package.el (package-el-version): Remove. (package-process-define-package): Fix inf-loop. (package-install): Allow symbols as arguments again. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-22 13:25:43 +0000 +++ lisp/ChangeLog 2013-06-22 20:09:19 +0000 @@ -1,3 +1,9 @@ +2013-06-22 Stefan Monnier + + * emacs-lisp/package.el (package-el-version): Remove. + (package-process-define-package): Fix inf-loop. + (package-install): Allow symbols as arguments again. + 2013-06-22 Dmitry Gutov * progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch', === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2013-06-21 15:30:53 +0000 +++ lisp/emacs-lisp/package.el 2013-06-22 20:09:19 +0000 @@ -233,7 +233,7 @@ Each element has the form (SYM . ID). SYM is a package, as a symbol. - ID is an archive name, as a string. This should correspond to an + ID is an archive name. This should correspond to an entry in `package-archives'. If the archive of name ID does not contain the package SYM, no @@ -249,9 +249,6 @@ "Version number of the package archive understood by this file. Lower version numbers than this will probably be understood as well.") -(defconst package-el-version "1.0.1" - "Version of package.el.") - ;; We don't prime the cache since it tends to get out of date. (defvar package-archive-contents nil "Cache of the contents of the Emacs Lisp Package Archive. @@ -557,13 +554,13 @@ ;; If there's no old package, just add this to `package-alist'. (push (list name new-pkg-desc) package-alist) ;; If there is, insert the new package at the right place in the list. - (while old-pkgs - (cond - ((null (cdr old-pkgs)) (push new-pkg-desc (cdr old-pkgs))) - ((version-list-< (package-desc-version (cadr old-pkgs)) version) - (push new-pkg-desc (cdr old-pkgs)) - (setq old-pkgs nil))) - (setq old-pkgs (cdr old-pkgs)))) + (while + (if (and (cdr old-pkgs) + (version-list-< version + (package-desc-version (cadr old-pkgs)))) + (setq old-pkgs (cdr old-pkgs)) + (push new-pkg-desc (cdr old-pkgs)) + nil))) new-pkg-desc)) ;; From Emacs 22, but changed so it adds to load-path. @@ -914,10 +911,10 @@ (package-install-from-archive desc)))) ;;;###autoload -(defun package-install (pkg-desc) - "Install the package PKG-DESC. -PKG-DESC should be one of the available packages in an -archive in `package-archives'. Interactively, prompt for its name." +(defun package-install (pkg) + "Install the package PKG. +PKG can be a package-desc or the package name of one the available packages +in an archive in `package-archives'. Interactively, prompt for its name." (interactive (progn ;; Initialize the package system to get the list of package @@ -926,22 +923,22 @@ (package-initialize t)) (unless package-archive-contents (package-refresh-contents)) - (let* ((name (intern (completing-read + (list (intern (completing-read "Install package: " (mapcar (lambda (elt) (cons (symbol-name (car elt)) nil)) package-archive-contents) - nil t))) - (pkg-desc (cdr (assq name package-archive-contents)))) + nil t))))) + (let ((pkg-desc + (if (package-desc-p pkg) pkg + (cdr (assq pkg package-archive-contents))))) (unless pkg-desc - (error "Package `%s' is not available for installation" - name)) - (list pkg-desc)))) + (error "Package `%s' is not available for installation" pkg)) (package-download-transaction ;; FIXME: Use (list pkg-desc) instead of just the name. (package-compute-transaction (list (package-desc-name pkg-desc)) - (package-desc-reqs pkg-desc)))) + (package-desc-reqs pkg-desc))))) (defun package-strip-rcs-id (str) "Strip RCS version ID from the version string STR. @@ -1082,6 +1079,7 @@ This informs Emacs about the latest versions of all packages, and makes them available for download." (interactive) + ;; FIXME: Do it asynchronously. (unless (file-exists-p package-user-dir) (make-directory package-user-dir t)) (dolist (archive package-archives) ------------------------------------------------------------ revno: 113138 fixes bug: http://debbugs.gnu.org/14569 committer: Paul Eggert branch nick: trunk timestamp: Sat 2013-06-22 12:01:47 -0700 message: Clean up SIGCHLD handling a bit. * process.c, process.h (catch_child_signal): Now always extern, even if !NS_IMPL_GNUSTEP. * process.c (catch_child_signal): Move glib tickler here from init_process_emacs, so that it's done earlier in Emacs initialization. Also move the noninteractive && !initialized check here from init_process_emacs. This is all a bit cleaner for GNUish platforms, and I hope it works around the Cygwin bug. * sysdep.c (init_signals): Invoke catch_child_signal here, so that glib signal handling is tickled before glib creates threads. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-22 16:43:39 +0000 +++ src/ChangeLog 2013-06-22 19:01:47 +0000 @@ -1,5 +1,16 @@ 2013-06-22 Paul Eggert + Clean up SIGCHLD handling a bit (Bug#14569). + * process.c, process.h (catch_child_signal): + Now always extern, even if !NS_IMPL_GNUSTEP. + * process.c (catch_child_signal): Move glib tickler here from + init_process_emacs, so that it's done earlier in Emacs + initialization. Also move the noninteractive && !initialized + check here from init_process_emacs. This is all a bit cleaner for + GNUish platforms, and I hope it works around the Cygwin bug. + * sysdep.c (init_signals): Invoke catch_child_signal here, so + that glib signal handling is tickled before glib creates threads. + * process.c (wait_reading_process_output): Avoid int overflow when reading more than 2 GiB total from a process. === modified file 'src/process.c' --- src/process.c 2013-06-22 16:43:39 +0000 +++ src/process.c 2013-06-22 19:01:47 +0000 @@ -7060,13 +7060,29 @@ return system_process_attributes (pid); } -#ifndef NS_IMPL_GNUSTEP -static -#endif +/* Arrange to catch SIGCHLD if needed. */ + void catch_child_signal (void) { struct sigaction action, old_action; + +#if !defined CANNOT_DUMP + if (noninteractive && !initialized) + return; +#endif + +#if defined HAVE_GLIB && !defined WINDOWSNT + /* Tickle glib's child-handling code. Ask glib to wait for Emacs itself; + this should always fail, but is enough to initialize glib's + private SIGCHLD handler, allowing the code below to copy it into + LIB_CHILD_HANDLER. + + Do this early in Emacs initialization, before glib creates + threads, to avoid race condition bugs in Cygwin glib. */ + g_source_unref (g_child_watch_source_new (getpid ())); +#endif + emacs_sigaction_init (&action, deliver_child_signal); sigaction (SIGCHLD, &action, &old_action); eassert (! (old_action.sa_flags & SA_SIGINFO)); @@ -7086,19 +7102,6 @@ inhibit_sentinels = 0; -#ifndef CANNOT_DUMP - if (! noninteractive || initialized) -#endif - { -#if defined HAVE_GLIB && !defined WINDOWSNT - /* Tickle glib's child-handling code. Ask glib to wait for Emacs itself; - this should always fail, but is enough to initialize glib's - private SIGCHLD handler. */ - g_source_unref (g_child_watch_source_new (getpid ())); -#endif - catch_child_signal (); - } - FD_ZERO (&input_wait_mask); FD_ZERO (&non_keyboard_wait_mask); FD_ZERO (&non_process_wait_mask); === modified file 'src/process.h' --- src/process.h 2013-06-03 18:29:30 +0000 +++ src/process.h 2013-06-22 19:01:47 +0000 @@ -217,8 +217,6 @@ extern void delete_read_fd (int fd); extern void add_write_fd (int fd, fd_callback func, void *data); extern void delete_write_fd (int fd); -#ifdef NS_IMPL_GNUSTEP extern void catch_child_signal (void); -#endif INLINE_HEADER_END === modified file 'src/sysdep.c' --- src/sysdep.c 2013-03-24 12:59:45 +0000 +++ src/sysdep.c 2013-06-22 19:01:47 +0000 @@ -1901,6 +1901,8 @@ sigaction (SIGFPE, &action, 0); } + catch_child_signal (); + #ifdef SIGUSR1 add_user_signal (SIGUSR1, "sigusr1"); #endif ------------------------------------------------------------ revno: 113137 committer: Paul Eggert branch nick: trunk timestamp: Sat 2013-06-22 09:43:39 -0700 message: * process.c (wait_reading_process_output): Avoid int overflow when reading more than 2 GiB total from a process. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-06-21 22:16:37 +0000 +++ src/ChangeLog 2013-06-22 16:43:39 +0000 @@ -1,3 +1,8 @@ +2013-06-22 Paul Eggert + + * process.c (wait_reading_process_output): Avoid int overflow + when reading more than 2 GiB total from a process. + 2013-06-21 Paul Eggert * process.c (create_process): Handle a couple more cases, === modified file 'src/process.c' --- src/process.c 2013-06-21 22:16:37 +0000 +++ src/process.c 2013-06-22 16:43:39 +0000 @@ -4430,7 +4430,7 @@ && ! EQ (wait_proc->status, Qrun) && ! EQ (wait_proc->status, Qconnect)) { - int nread, total_nread = 0; + bool read_some_bytes = 0; clear_waiting_for_input (); XSETPROCESS (proc, wait_proc); @@ -4438,16 +4438,13 @@ /* Read data from the process, until we exhaust it. */ while (wait_proc->infd >= 0) { - nread = read_process_output (proc, wait_proc->infd); + int nread = read_process_output (proc, wait_proc->infd); if (nread == 0) break; if (nread > 0) - { - total_nread += nread; - got_some_input = 1; - } + got_some_input = read_some_bytes = 1; else if (nread == -1 && (errno == EIO || errno == EAGAIN)) break; #ifdef EWOULDBLOCK @@ -4455,7 +4452,7 @@ break; #endif } - if (total_nread > 0 && do_display) + if (read_some_bytes && do_display) redisplay_preserve_echo_area (10); break; ------------------------------------------------------------ revno: 113136 committer: Dmitry Gutov branch nick: trunk timestamp: Sat 2013-06-22 17:25:43 +0400 message: * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch', add some more keyword-like methods. http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00911.html diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-06-22 02:33:33 +0000 +++ lisp/ChangeLog 2013-06-22 13:25:43 +0000 @@ -1,3 +1,9 @@ +2013-06-22 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Move `catch', + add some more keyword-like methods. + http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00911.html + 2013-06-22 Juanma Barranquero * bs.el (bs-buffer-show-mark): Make defvar-local. === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-06-22 00:11:24 +0000 +++ lisp/progmodes/ruby-mode.el 2013-06-22 13:25:43 +0000 @@ -1735,7 +1735,6 @@ "begin" "break" "case" - "catch" "class" "def" "defined?" @@ -1770,14 +1769,28 @@ (regexp-opt '("alias_method" "autoload" + "attr" + "attr_accessor" + "attr_reader" + "attr_writer" + "catch" + "define_method" + "extend" + "fail" + "include" + "lambda" + "loop" "module_function" "private" + "proc" "protected" "public" "raise" + "refine" "require" "require_relative" - "throw") + "throw" + "using") 'symbols) "\\)") 2 ------------------------------------------------------------ revno: 113135 committer: Juanma Barranquero branch nick: trunk timestamp: Sat 2013-06-22 04:41:14 +0200 message: .bzrignore: Add GNU idutils ID database file. diff: === modified file '.bzrignore' --- .bzrignore 2013-06-20 20:01:51 +0000 +++ .bzrignore 2013-06-22 02:41:14 +0000 @@ -33,6 +33,7 @@ GPATH GRTAGS GTAGS +ID makefile Makefile Makefile.c === modified file 'ChangeLog' --- ChangeLog 2013-06-21 01:03:23 +0000 +++ ChangeLog 2013-06-22 02:41:14 +0000 @@ -1,3 +1,7 @@ +2013-06-22 Juanma Barranquero + + * .bzrignore: Add GNU idutils ID database file. + 2013-06-21 YAMAMOTO Mitsuharu * configure.ac (HAVE_LIBXML2): Try built-in libxml2 on OS X 10.8 @@ -7,7 +11,7 @@ * .bzrignore: Don't unignore cl-loaddefs.el. -2013-06-20 RĂ¼diger Sonderfeld +2013-06-20 RĂ¼diger Sonderfeld * configure.ac (log2): Check for this function.