commit 371ebe02a67d97a82fcf704a1cbe4251da6d910b (HEAD, refs/remotes/origin/master) Author: Glenn Morris Date: Mon Jun 22 23:53:22 2015 -0700 Revert 2014-06-25 nextstep/Makefile change. * nextstep/Makefile.in (${ns_appbindir}): Remove rule. (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule, not as an order-only prerequisite. diff --git a/nextstep/Makefile.in b/nextstep/Makefile.in index 07e7285..2b7933c 100644 --- a/nextstep/Makefile.in +++ b/nextstep/Makefile.in @@ -48,11 +48,11 @@ ${ns_check_file} ${ns_appdir}: ${srcdir}/${ns_appsrc} ${ns_appsrc} ( cd ${ns_appdir} ; umask 022; tar xf - ) touch ${ns_appdir} -${ns_appbindir}: - ${MKDIR_P} $@ - -${ns_appbindir}/Emacs: ${ns_appdir} ${ns_check_file} ../src/emacs${EXEEXT} | \ - ${ns_appbindir} +## Don't create ns_appbindir via an order-only prerequisite, because +## on GNUstep ns_appbindir and ns_bindir are the same, so +## the rule for ns_appbindir would conflict with that for ns_appdir. +${ns_appbindir}/Emacs: ${ns_appdir} ${ns_check_file} ../src/emacs${EXEEXT} + ${MKDIR_P} ${ns_appbindir} cp -f ../src/emacs${EXEEXT} $@ .PHONY: all links @@ -61,13 +61,14 @@ all: ${ns_appdir} ${ns_appbindir}/Emacs # create a fake installation pointing back to the source tree # to run GUI Emacs in-place -links : ../src/emacs${EXEEXT} | ${ns_appbindir} +links : ../src/emacs${EXEEXT} for d in $(shell cd ${srcdir}/${ns_appsrc}; find . -type d); do ${MKDIR_P} ${ns_appdir}/$$d; done for f in $(shell cd ${srcdir}/${ns_appsrc}; find . -type f); do ln -s $(shell cd ${srcdir}; pwd -P)/${ns_appsrc}/$$f ${ns_appdir}/$$f; done for d in $(shell cd ${ns_appsrc}; find . -type d); do ${MKDIR_P} ${ns_appdir}/$$d; done for f in $(shell cd ${ns_appsrc}; find . -type f); do ln -s $(shell cd ${ns_appsrc}; pwd -P)/$$f ${ns_appdir}/$$f; done ln -s $(top_srcdir_abs)/lisp ${ns_appdir}/Contents/Resources ln -s $(top_srcdir_abs)/info ${ns_appdir}/Contents/Resources + ${MKDIR_P} ${ns_appbindir} ln -s $(abs_top_builddir)/src/emacs${EXEEXT} ${ns_appbindir}/Emacs ln -s $(abs_top_builddir)/lib-src ${ns_appbindir}/bin ln -s $(abs_top_builddir)/lib-src ${ns_appbindir}/libexec commit d97fbcbedce8f36050af7a55d34c6ed50c99507c Author: Glenn Morris Date: Mon Jun 22 22:03:33 2015 -0400 * configure.ac (--with-ns): Enable by default on OS X. ; * etc/NEWS, nextstep/INSTALL: Mention this. diff --git a/configure.ac b/configure.ac index b54bd34..60d4bab 100644 --- a/configure.ac +++ b/configure.ac @@ -341,7 +341,9 @@ OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping]) OPTION_DEFAULT_ON([toolkit-scroll-bars],[don't use Motif or Xaw3d scroll bars]) OPTION_DEFAULT_ON([xaw3d],[don't use Xaw3d]) OPTION_DEFAULT_ON([xim],[don't use X11 XIM]) -OPTION_DEFAULT_OFF([ns],[use NeXTstep (Cocoa or GNUstep) windowing system]) +AC_ARG_WITH([ns],[AS_HELP_STRING([--with-ns], +[use Nextstep (OS X Cocoa or GNUstep) windowing system. +On by default on Mac OS X.])],[],[with_ns=maybe]) OPTION_DEFAULT_OFF([w32], [use native MS Windows GUI in a Cygwin build]) OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console]) @@ -1746,6 +1748,7 @@ else fi fi +test "${with_ns}" = maybe && test "${opsys}" != darwin && with_ns=no HAVE_NS=no NS_GNUSTEP_CONFIG=no NS_IMPL_COCOA=no @@ -1816,8 +1819,9 @@ fail; CFLAGS="$CFLAGS $GNU_OBJC_CFLAGS" AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes], - [AC_MSG_ERROR(['--with-ns' was specified, but the include - files are missing or cannot be compiled.])]) + [AC_MSG_ERROR([The include files (AppKit/AppKit.h etc) that +are required for a Nextstep build are missing or cannot be compiled. +Either fix this, or re-configure with the option '--without-ns'.])]) macfont_file="" if test "${NS_IMPL_COCOA}" = "yes"; then @@ -2670,7 +2674,7 @@ NOTIFY_SUMMARY=no dnl FIXME? Don't auto-detect on NS, but do allow someone to specify dnl a particular library. This doesn't make much sense? -if test "${with_ns}" = yes && test ${with_file_notification} = yes; then +if test "${HAVE_ns}" = yes && test ${with_file_notification} = yes; then with_file_notification=no fi diff --git a/etc/NEWS b/etc/NEWS index b68a4b2..31055ac 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1089,6 +1089,10 @@ of Windows starting with Windows 9X. ** The byte counts in etags-generated TAGS files are now the same on MS-Windows as they are on other platforms. +--- +** On OS X, configure creates a Cocoa ("Nextstep") build by default. +Pass '--without-ns' to configure to create an X11 build, the old default. + ** OS X 10.5 or older is no longer supported. ** OS X on PowerPC is no longer supported. diff --git a/nextstep/INSTALL b/nextstep/INSTALL index 96aaac7..8c9cd3b 100644 --- a/nextstep/INSTALL +++ b/nextstep/INSTALL @@ -19,6 +19,8 @@ In the top-level directory, use: ./configure --with-ns +(On Mac OS X, --with-ns is enabled by default.) + This will compile all the files, but emacs will not be able to be run except in -nw (terminal) mode. commit eccfc0a487787a7c1c2465c469becad983fc2810 Author: Leo Liu Date: Tue Jun 23 09:19:36 2015 +0800 Fix shell-for/backward-command to exclude spaces * lisp/shell.el (shell-forward-command, shell-backward-command): Handle the 'move case from re-search-forward/backward. fixes debbugs:20873 diff --git a/lisp/shell.el b/lisp/shell.el index f71d140..f5cb321 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -83,8 +83,8 @@ ;; tab completion-at-point Complete filename/command/history ;; m-? comint-dynamic-list-filename-completions ;; List completions in help buffer -;; m-c-f shell-forward-command Forward a shell command -;; m-c-b shell-backward-command Backward a shell command +;; c-c c-f shell-forward-command Forward a shell command +;; c-c c-b shell-backward-command Backward a shell command ;; dirs Resync the buffer's dir stack ;; shell-dirtrack-mode Turn dir tracking on/off ;; comint-strip-ctrl-m Remove trailing ^Ms from output @@ -1092,10 +1092,12 @@ Copy Shell environment variable to Emacs: "))) "Move forward across ARG shell command(s). Does not cross lines. See `shell-command-regexp'." (interactive "p") - (let ((limit (line-end-position))) - (if (re-search-forward (concat shell-command-regexp "\\([;&|][\t ]*\\)+") - limit 'move arg) - (skip-syntax-backward " ")))) + (let ((limit (line-end-position)) + (pt (point))) + (re-search-forward (concat shell-command-regexp "\\([;&|][\t ]*\\)+") + limit 'move arg) + (and (/= pt (point)) + (skip-syntax-backward " " pt)))) (defun shell-backward-command (&optional arg) @@ -1106,10 +1108,13 @@ See `shell-command-regexp'." (when (> limit (point)) (setq limit (line-beginning-position))) (skip-syntax-backward " " limit) - (if (re-search-backward - (format "[;&|]+[\t ]*\\(%s\\)" shell-command-regexp) limit 'move arg) - (progn (goto-char (match-beginning 1)) - (skip-chars-forward ";&|"))))) + (let ((pt (point))) + (if (re-search-backward + (format "[;&|]+[\t ]*\\(%s\\)" shell-command-regexp) limit 'move arg) + (progn (goto-char (match-beginning 1)) + (skip-chars-forward ";&|"))) + (and (/= pt (point)) + (skip-syntax-forward " " pt))))) (defun shell-dynamic-complete-command () "Dynamically complete the command at point. commit 1b1b6644c8cb27539ca99e97ef2f352f411c06d8 Author: Juri Linkov Date: Tue Jun 23 01:59:23 2015 +0300 * lisp/replace.el (query-replace-read-from): Add separator to the local binding of text-property-default-nonsticky. (Bug#20690) diff --git a/lisp/replace.el b/lisp/replace.el index 1bf1343..74909ef 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -156,6 +156,8 @@ wants to replace FROM with TO." ;; unavailable while preparing to dump. (custom-reevaluate-setting 'query-replace-from-to-separator) (let* ((history-add-new-input nil) + (text-property-default-nonsticky + (cons '(separator . t) text-property-default-nonsticky)) (separator (when query-replace-from-to-separator (propertize "\0" commit d010523177889867cf572ff48e8729b1503ea5a4 Author: Juri Linkov Date: Tue Jun 23 01:45:33 2015 +0300 * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'. (Bug#20785) diff --git a/lisp/simple.el b/lisp/simple.el index 48451aa..0729d8c 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3318,7 +3318,7 @@ display the error buffer if there were any errors. When called interactively, this is t." (interactive (let (string) (unless (mark) - (error "The mark is not set now, so there is no region")) + (user-error "The mark is not set now, so there is no region")) ;; Do this before calling region-beginning ;; and region-end, in case subprocess output ;; relocates them while we are in the minibuffer. commit 531125e4c024ca12701608c4516cb9cf993cfad2 Author: Ken Brown Date: Mon Jun 22 17:38:35 2015 -0400 Enable CPU profiling on Cygwin * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous change that undefined this. (SIGEV_SIGNAL): Ensure that this is defined as a macro. * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on Cygwin. diff --git a/src/profiler.c b/src/profiler.c index 185382c..d4c98a8 100644 --- a/src/profiler.c +++ b/src/profiler.c @@ -217,6 +217,12 @@ static EMACS_INT current_sampling_interval; /* Signal handler for sampling profiler. */ +/* timer_getoverrun is not implemented on Cygwin, but the following + seems to be good enough for profiling. */ +#ifdef CYGWIN +#define timer_getoverrun(x) 0 +#endif + static void handle_profiler_signal (int signal) { diff --git a/src/syssignal.h b/src/syssignal.h index 2882400..5c14479 100644 --- a/src/syssignal.h +++ b/src/syssignal.h @@ -32,13 +32,17 @@ extern void unblock_tty_out_signal (sigset_t const *); #define FORWARD_SIGNAL_TO_MAIN_THREAD #endif +/* On Cygwin as of 2015-06-22 SIGEV_SIGNAL is defined as an enum + constant but not as a macro. */ +#if defined CYGWIN && !defined SIGEV_SIGNAL +#define SIGEV_SIGNAL SIGEV_SIGNAL +#endif + #if defined HAVE_TIMER_SETTIME && defined SIGEV_SIGNAL # define HAVE_ITIMERSPEC #endif -/* On Cygwin, setitimer does not support ITIMER_PROF, so we can't - support CPU profiling. */ -#if (defined SIGPROF && !defined PROFILING && !defined CYGWIN \ +#if (defined SIGPROF && !defined PROFILING \ && (defined HAVE_SETITIMER || defined HAVE_ITIMERSPEC)) # define PROFILER_CPU_SUPPORT #endif commit dc30fb9247d5d9d98ae1c3501d3ffa90e2001a46 Author: Ken Brown Date: Mon Jun 22 15:26:44 2015 -0400 Improve diagnostics of profiler-cpu-start * src/profiler.c (setup_cpu_timer): Change return type to 'int'; return -1 if the sampling interval is invalid. (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer' fails. (Bug#20843) diff --git a/src/profiler.c b/src/profiler.c index 1b49afe..185382c 100644 --- a/src/profiler.c +++ b/src/profiler.c @@ -250,7 +250,7 @@ deliver_profiler_signal (int signal) deliver_process_signal (signal, handle_profiler_signal); } -static enum profiler_cpu_running +static int setup_cpu_timer (Lisp_Object sampling_interval) { struct sigaction action; @@ -263,7 +263,7 @@ setup_cpu_timer (Lisp_Object sampling_interval) ? ((EMACS_INT) TYPE_MAXIMUM (time_t) * billion + (billion - 1)) : EMACS_INT_MAX))) - return NOT_RUNNING; + return -1; current_sampling_interval = XINT (sampling_interval); interval = make_timespec (current_sampling_interval / billion, @@ -336,9 +336,18 @@ See also `profiler-log-size' and `profiler-max-stack-depth'. */) profiler_max_stack_depth); } - profiler_cpu_running = setup_cpu_timer (sampling_interval); - if (! profiler_cpu_running) - error ("Invalid sampling interval"); + int status = setup_cpu_timer (sampling_interval); + if (status == -1) + { + profiler_cpu_running = NOT_RUNNING; + error ("Invalid sampling interval"); + } + else + { + profiler_cpu_running = status; + if (! profiler_cpu_running) + error ("Unable to start profiler timer"); + } return Qt; } commit 567bf811dc83d4e2a770f602fc70df0874aa02e4 Author: Artur Malabarba Date: Mon Jun 22 19:00:55 2015 +0100 * lisp/emacs-lisp/package.el: Exclude packages by name (package-hidden-regexps): New variable. (package-menu--refresh): Use it. (package-menu-hide-package): New command. diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index d6a3832..4dafe17 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -2554,10 +2554,11 @@ Installed obsolete packages are always displayed.") (interactive) (unless (derived-mode-p 'package-menu-mode) (user-error "The current buffer is not a Package Menu")) - (message "%s available-obsolete packages" (if package-menu--hide-obsolete - "Hiding" "Displaying")) (setq package-menu--hide-packages (not package-menu--hide-packages)) + (message "%s packages" (if package-menu--hide-packages + "Hiding obsolete or unwanted" + "Displaying all")) (revert-buffer nil 'no-confirm)) (defun package--remove-hidden (pkg-list) @@ -2600,13 +2601,23 @@ to their archives." ins-version)) filtered-by-priority)))))))) +(defcustom package-hidden-regexps nil + "List of regexps matching the name of packages to hide. +If the name of a package matches any of these regexps it is +omited from the package menu. To toggle this, type \\[package-menu-toggle-hiding]. + +Values can be interactively added to this list by typing +\\[package-menu-hide-package] on a package" + :type '(repeat (regexp :tag "Hide packages with name matching"))) + (defun package-menu--refresh (&optional packages keywords) "Re-populate the `tabulated-list-entries'. PACKAGES should be nil or t, which means to display all known packages. KEYWORDS should be nil or a list of keywords." ;; Construct list of (PKG-DESC . STATUS). (unless packages (setq packages t)) - (let (info-list) + (let ((hidden-names (mapconcat #'identity package-hidden-regexps "\\|")) + info-list) ;; Installed packages: (dolist (elt package-alist) (let ((name (car elt))) @@ -2629,7 +2640,13 @@ KEYWORDS should be nil or a list of keywords." ;; Available and disabled packages: (dolist (elt package-archive-contents) (let ((name (car elt))) - (when (or (eq packages t) (memq name packages)) + ;; To be displayed it must be in PACKAGES; + (when (and (or (eq packages t) (memq name packages)) + ;; and we must either not be hiding anything, + (or (not package-menu--hide-packages) + (not package-hidden-regexps) + ;; or just not hiding this specific package. + (not (string-match hidden-names (symbol-name name))))) ;; Hide available-obsolete or low-priority packages. (dolist (pkg (package--remove-hidden (cdr elt))) (when (package--has-keyword-p pkg keywords) @@ -2770,6 +2787,29 @@ This fetches the contents of each archive specified in (setq package-menu--new-package-list nil) (package-refresh-contents package-menu-async)) +(defun package-menu-hide-package () + "Hide a package under point. +If optional arg BUTTON is non-nil, describe its associated package." + (interactive) + (declare (interactive-only "change `package-hidden-regexps' instead.")) + (let* ((name (when (derived-mode-p 'package-menu-mode) + (concat "\\`" (regexp-quote (symbol-name (package-desc-name + (tabulated-list-get-id))))))) + (re (read-string "Hide packages matching regexp: " name))) + ;; Test if it is valid. + (string-match re "") + (push re package-hidden-regexps) + (customize-save-variable 'package-hidden-regexps package-hidden-regexps) + (package-menu--post-refresh) + (let ((hidden + (cl-remove-if-not (lambda (e) (string-match re (symbol-name (car e)))) + package-archive-contents))) + (message (substitute-command-keys + (concat "Hiding %s packages, type `\\[package-menu-toggle-hiding]'" + " to toggle or `\\[customize-variable] RET package-hidden-regexps'" + " to customize it")) + (length hidden))))) + (defun package-menu-describe-package (&optional button) "Describe the current package. If optional arg BUTTON is non-nil, describe its associated package." commit a9d9b66ebbf8a9797137c873bb2d194c529e9384 Author: Artur Malabarba Date: Mon Jun 22 16:20:46 2015 +0100 * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding diff --git a/etc/NEWS b/etc/NEWS index bab1b41..b68a4b2 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -316,7 +316,7 @@ always respect that. priority (as per `package-archive-priorities') only that one is listed. This can be configured with `package-menu-hide-low-priority'. -*** `package-menu-hide-obsolete' now toggles the hiding of packages. +*** `package-menu-toggle-hiding' now toggles the hiding of packages. This includes the above-mentioned low-priority packages, as well as available packages whose version is lower than the currently installed version (which were previously impossible to display). diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index 62900e0..d6a3832 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -237,8 +237,8 @@ This variable has three possible values: archive: only criteria (a) is used; t: both criteria are used. -This variable has no effect if `package-menu--hide-obsolete' is -nil, so it can be toggled with \\ \\[package-menu-hide-obsolete]." +This variable has no effect if `package-menu--hide-packages' is +nil, so it can be toggled with \\ \\[package-menu-toggle-hiding]." :type '(choice (const :tag "Don't hide anything" nil) (const :tag "Hide per package-archive-priorities" archive) @@ -2379,7 +2379,7 @@ will be deleted." (define-key map "x" 'package-menu-execute) (define-key map "h" 'package-menu-quick-help) (define-key map "?" 'package-menu-describe-package) - (define-key map "(" #'package-menu-hide-obsolete) + (define-key map "(" #'package-menu-toggle-hiding) (define-key map [menu-bar package-menu] (cons "Package" menu-map)) (define-key menu-map [mq] '(menu-item "Quit" quit-window @@ -2538,26 +2538,26 @@ of these dependencies, similar to the list returned by (cond ;; Installed obsolete packages are handled in the `dir' ;; clause above. Here we handle available obsolete, which - ;; are displayed depending on `package-menu--hide-obsolete'. + ;; are displayed depending on `package-menu--hide-packages'. ((and ins (version-list-<= version ins-v)) "avail-obso") (t (if (memq name package-menu--new-package-list) "new" "available")))))))) -(defvar package-menu--hide-obsolete t +(defvar package-menu--hide-packages t "Whether available obsolete packages should be hidden. -Can be toggled with \\ \\[package-menu-hide-obsolete]. +Can be toggled with \\ \\[package-menu-toggle-hiding]. Installed obsolete packages are always displayed.") -(defun package-menu-hide-obsolete () +(defun package-menu-toggle-hiding () "Toggle visibility of obsolete available packages." (interactive) (unless (derived-mode-p 'package-menu-mode) (user-error "The current buffer is not a Package Menu")) - (setq package-menu--hide-obsolete - (not package-menu--hide-obsolete)) (message "%s available-obsolete packages" (if package-menu--hide-obsolete "Hiding" "Displaying")) + (setq package-menu--hide-packages + (not package-menu--hide-packages)) (revert-buffer nil 'no-confirm)) (defun package--remove-hidden (pkg-list) @@ -2567,8 +2567,8 @@ same name, sorted by decreasing `package-desc-priority-version'. Return a list of packages tied for the highest priority according to their archives." (when pkg-list - ;; Variable toggled with `package-menu-hide-obsolete'. - (if (not package-menu--hide-obsolete) + ;; Variable toggled with `package-menu-toggle-hiding'. + (if (not package-menu--hide-packages) pkg-list (let ((installed (cadr (assq (package-desc-name (car pkg-list)) package-alist)))) commit c4c531bbee86f45a18b2af168f705a3e53aa7327 Author: Eli Zaretskii Date: Mon Jun 22 19:11:45 2015 +0300 Fix debug-timer-check on systems without HAVE_TIMERFD * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run the expired timers, since wait_reading_process_output doesn't. (debug_timer_callback): Enlarge the tolerance to 20 msec. diff --git a/src/atimer.c b/src/atimer.c index 8ff9bb8..8a1a48b 100644 --- a/src/atimer.c +++ b/src/atimer.c @@ -492,9 +492,9 @@ debug_timer_callback (struct atimer *t) { #ifdef HAVE_SETITIMER struct timespec delta = timespec_sub (now, r->expected); - /* Too late if later than expected + 0.01s. FIXME: + /* Too late if later than expected + 0.02s. FIXME: this should depend from system clock resolution. */ - if (timespec_cmp (delta, make_timespec (0, 10000000)) > 0) + if (timespec_cmp (delta, make_timespec (0, 20000000)) > 0) r->intime = 0; else #endif /* HAVE_SETITIMER */ @@ -523,8 +523,26 @@ Return t if all self-tests are passed, nil otherwise. */) debug_timer_callback, results[i]); } +#ifdef HAVE_TIMERFD /* Wait for 1s but process timers. */ wait_reading_process_output (1, 0, 0, false, Qnil, NULL, 0); +#else + /* If timerfd is not supported, wait_reading_process_output won't + pay attention to timers that expired, and the callbacks won't be + called. So we need to run the expired timers' callbacks by + hand. */ + /* Wait 1.2 sec for the timers to expire. */ + struct timespec tend = + timespec_add (current_timespec (), make_timespec (1, 200000000)); + + while (timespec_cmp (current_timespec (), tend) < 0) + { + /* Wait for 5 msec between iterations. */ + wait_reading_process_output (0, 5000000, 0, false, Qnil, NULL, 0); + if (pending_signals) + do_pending_atimers (); + } +#endif /* Shut up the compiler by "using" this variable. */ (void) timer; commit fff0184e38342deedafd2ab0db7b51c692f461c7 Author: Eli Zaretskii Date: Mon Jun 22 19:06:23 2015 +0300 Fix RCS crashes in vc-test * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old ports of 'ci' on MS-Windows by always passing the -t- switch. diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el index 1e19908..71ffa55 100644 --- a/lisp/vc/vc-rcs.el +++ b/lisp/vc/vc-rcs.el @@ -243,7 +243,9 @@ to the RCS command." ;; if available, use the secure registering option (and (vc-rcs-release-p "5.6.4") "-i") "-u" - (and comment (concat "-t-" comment)) + ;; Some old MS-Windows ports of RCS crash when "ci -i" is + ;; invoked without -t; indulge them. + (concat "-t-" (or comment "")) (vc-switches 'RCS 'register)) ;; parse output to find master file name and workfile version (with-current-buffer "*vc*" commit 14eba4941892cb765808432d6d870fc41762bec4 Author: Glenn Morris Date: Mon Jun 22 08:35:21 2015 -0700 * doc/emacs/package.texi (Packages): * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references. diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi index e464666..68913d8 100644 --- a/doc/emacs/package.texi +++ b/doc/emacs/package.texi @@ -30,9 +30,7 @@ third parties. @xref{Package Installation}. For information about turning an Emacs Lisp program into an installable package, @xref{Packaging,,,elisp, The Emacs Lisp Reference -Manual}. For information about finding third-party packages and other -Emacs Lisp extensions, @xref{Packages that do not come with -Emacs,,,efaq, GNU Emacs FAQ}. +Manual}. @menu * Package Menu:: Buffer for viewing and managing packages. diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 42022cd..fc01a97 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -486,10 +486,6 @@ file contains a list of particularly well-known issues that have been encountered in compiling, installing and running Emacs. Often, there are suggestions for workarounds and solutions. -@item -Some additional user-level problems can be found in @ref{Bugs and -problems, , Bugs and problems, efaq, GNU Emacs FAQ}. - @cindex bug tracker @item The GNU Bug Tracker at @url{http://debbugs.gnu.org}. Emacs bugs are