------------------------------------------------------------ revno: 115183 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 16:09:40 +0800 message: * progmodes/octave.el (octave-help-mode): Adapt to change to help-mode-finish to use derived-mode-p on 2013-09-17. (inferior-octave-prompt): Also match octave-gui. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 02:32:35 +0000 +++ lisp/ChangeLog 2013-11-22 08:09:40 +0000 @@ -2,6 +2,9 @@ * progmodes/octave.el (octave-operator-regexp): Exclude newline. (Bug#15076) + (octave-help-mode): Adapt to change to help-mode-finish to use + derived-mode-p on 2013-09-17. + (inferior-octave-prompt): Also match octave-gui. 2013-11-22 Leo Liu === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-22 02:32:35 +0000 +++ lisp/progmodes/octave.el 2013-11-22 08:09:40 +0000 @@ -599,7 +599,7 @@ :group 'octave) (defcustom inferior-octave-prompt - "\\(^octave\\(\\|.bin\\|.exe\\)\\(-[.0-9]+\\)?\\(:[0-9]+\\)?\\|^debug\\|^\\)>+ " + "\\(^octave\\(\\|.bin\\|.exe\\|-gui\\)\\(-[.0-9]+\\)?\\(:[0-9]+\\)?\\|^debug\\|^\\)>+ " "Regexp to match prompts for the inferior Octave process." :type 'regexp :group 'octave) @@ -1649,7 +1649,7 @@ (defvar octave-help-mode-map (let ((map (make-sparse-keymap))) - (define-key map "\M-." 'octave-find-definition) + (define-key map "\M-." 'octave-find-definition) (define-key map "\C-hd" 'octave-help) (define-key map "\C-ha" 'octave-lookfor) map)) @@ -1659,26 +1659,9 @@ :abbrev-table nil :syntax-table octave-mode-syntax-table (eval-and-compile (require 'help-mode)) - ;; Mostly stolen from `help-make-xrefs'. - (let ((inhibit-read-only t)) - (setq-local info-lookup-mode 'octave-mode) - ;; Delete extraneous newlines at the end of the docstring - (goto-char (point-max)) - (while (and (not (bobp)) (bolp)) - (delete-char -1)) - (insert "\n") - (when (or help-xref-stack help-xref-forward-stack) - (insert "\n")) - (when help-xref-stack - (help-insert-xref-button help-back-label 'help-back - (current-buffer))) - (when help-xref-forward-stack - (when help-xref-stack - (insert "\t")) - (help-insert-xref-button help-forward-label 'help-forward - (current-buffer))) - (when (or help-xref-stack help-xref-forward-stack) - (insert "\n")))) + ;; Don't highlight `EXAMPLE' as elisp symbols by using a regexp that + ;; can never match. + (setq-local help-xref-symbol-regexp "x\\`")) (defun octave-help (fn) "Display the documentation of FN." ------------------------------------------------------------ revno: 115182 committer: Glenn Morris branch nick: trunk timestamp: Thu 2013-11-21 19:08:31 -0800 message: * automated/ruby-mode-tests.el (ruby-exit!-font-lock): Set expected-result. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-21 00:26:05 +0000 +++ test/ChangeLog 2013-11-22 03:08:31 +0000 @@ -1,3 +1,8 @@ +2013-11-22 Glenn Morris + + * automated/ruby-mode-tests.el (ruby-exit!-font-lock): + Set expected-result. + 2013-11-21 Glenn Morris * automated/Makefile.in (XARGS_LIMIT): New, set by configure. === modified file 'test/automated/ruby-mode-tests.el' --- test/automated/ruby-mode-tests.el 2013-11-20 11:51:12 +0000 +++ test/automated/ruby-mode-tests.el 2013-11-22 03:08:31 +0000 @@ -91,7 +91,8 @@ (ert-deftest ruby-no-heredoc-inside-quotes () (ruby-assert-state "\"<<\", \"\",\nfoo" 3 nil)) -(ert-deftest ruby-exit!-font-lock () +;; Change result if you fix http://debbugs.gnu.org/15874 +(ert-deftest ruby-exit!-font-lock () :expected-result :failed (ruby-assert-face "exit!" 5 font-lock-builtin-face)) (ert-deftest ruby-deep-indent () ------------------------------------------------------------ revno: 115181 committer: Glenn Morris branch nick: trunk timestamp: Thu 2013-11-21 18:59:02 -0800 message: * doc/lispref/loading.texi (Library Search): Minor clarification. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-11-20 02:44:38 +0000 +++ doc/lispref/ChangeLog 2013-11-22 02:59:02 +0000 @@ -1,3 +1,7 @@ +2013-11-22 Glenn Morris + + * loading.texi (Library Search): Minor clarification. + 2013-11-20 Leo Liu * windows.texi (Choosing Window): Mention `no-display-ok'. (Bug#13594) === modified file 'doc/lispref/loading.texi' --- doc/lispref/loading.texi 2013-11-19 09:47:02 +0000 +++ doc/lispref/loading.texi 2013-11-22 02:59:02 +0000 @@ -270,9 +270,11 @@ "/usr/local/share/emacs/@var{version}/lisp" @end example -followed by a similarly named @file{leim} directory. These -directories contain the standard Lisp files that come with Emacs. -If Emacs cannot find them, it will not start correctly. +followed by a similarly named @file{leim} directory. +(In this and the following examples, replace @file{/usr/local} with +the installation prefix appropriate for your Emacs.) +These directories contain the standard Lisp files that come with +Emacs. If Emacs cannot find them, it will not start correctly. If you run Emacs from the directory where it was built---that is, an executable that has not been formally installed---Emacs instead ------------------------------------------------------------ revno: 115180 fixes bug: http://debbugs.gnu.org/15076 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 10:32:35 +0800 message: * progmodes/octave.el (octave-operator-regexp): Exclude newline. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 02:02:42 +0000 +++ lisp/ChangeLog 2013-11-22 02:32:35 +0000 @@ -1,5 +1,10 @@ 2013-11-22 Leo Liu + * progmodes/octave.el (octave-operator-regexp): Exclude newline. + (Bug#15076) + +2013-11-22 Leo Liu + * progmodes/octave.el (inferior-octave-process-live-p): New helper. (inferior-octave-startup, inferior-octave-check-process) (inferior-octave-track-window-width-change) === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-22 02:02:42 +0000 +++ lisp/progmodes/octave.el 2013-11-22 02:32:35 +0000 @@ -363,7 +363,8 @@ ;; corresponding continuation lines). (defconst octave-operator-regexp - (regexp-opt (apply 'append (mapcar 'cdr octave-operator-table)))) + (regexp-opt (remove "\n" (apply 'append + (mapcar 'cdr octave-operator-table))))) (defun octave-smie-backward-token () (let ((pos (point))) ------------------------------------------------------------ revno: 115179 fixes bug: http://debbugs.gnu.org/10564 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 10:02:42 +0800 message: * progmodes/octave.el (inferior-octave-process-live-p): New helper. (inferior-octave-startup, inferior-octave-check-process) (inferior-octave-track-window-width-change) (octave-completion-at-point, octave-eldoc-function): Use it. (octave-kill-process): Provide confirmation. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 17:33:30 +0000 +++ lisp/ChangeLog 2013-11-22 02:02:42 +0000 @@ -1,3 +1,11 @@ +2013-11-22 Leo Liu + + * progmodes/octave.el (inferior-octave-process-live-p): New helper. + (inferior-octave-startup, inferior-octave-check-process) + (inferior-octave-track-window-width-change) + (octave-completion-at-point, octave-eldoc-function): Use it. + (octave-kill-process): Provide confirmation. (Bug#10564) + 2013-11-21 Leo Liu * progmodes/octave.el (octave-mode, inferior-octave-mode): Fix === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-21 17:33:30 +0000 +++ lisp/progmodes/octave.el 2013-11-22 02:02:42 +0000 @@ -698,6 +698,9 @@ (declare-function compilation-forget-errors "compile" ()) +(defun inferior-octave-process-live-p () + (and inferior-octave-process (process-live-p inferior-octave-process))) + (define-derived-mode inferior-octave-mode comint-mode "Inferior Octave" "Major mode for interacting with an inferior Octave process." :abbrev-table octave-abbrev-table @@ -782,7 +785,7 @@ ;; output may be mixed up). Hence, we need to digest the Octave ;; output to see when it issues a prompt. (while inferior-octave-receive-in-progress - (or (process-live-p inferior-octave-process) + (or (inferior-octave-process-live-p) (error "Process `%s' died" inferior-octave-process)) (accept-process-output inferior-octave-process)) (goto-char (point-max)) @@ -903,8 +906,7 @@ (setq inferior-octave-output-string string)) (defun inferior-octave-check-process () - (or (and inferior-octave-process - (process-live-p inferior-octave-process)) + (or (inferior-octave-process-live-p) (error (substitute-command-keys "No inferior octave process running. Type \\[run-octave]")))) @@ -973,8 +975,7 @@ (let ((width (max inferior-octave-minimal-columns (window-width)))) (unless (eq inferior-octave-last-column-width width) (setq-local inferior-octave-last-column-width width) - (when (and inferior-octave-process - (process-live-p inferior-octave-process)) + (when (inferior-octave-process-live-p) (inferior-octave-send-list-and-digest (list (format "putenv ('COLUMNS', '%s');\n" width))))))) @@ -1398,8 +1399,7 @@ (save-excursion (skip-syntax-forward "w_") (setq end (point)))) (when (> end beg) - (list beg end (or (and inferior-octave-process - (process-live-p inferior-octave-process) + (list beg end (or (and (inferior-octave-process-live-p) inferior-octave-completion-table) octave-reserved-words))))) @@ -1444,12 +1444,13 @@ (defun octave-kill-process () "Kill inferior Octave process and its buffer." (interactive) - (if inferior-octave-process - (progn - (process-send-string inferior-octave-process "quit;\n") - (accept-process-output inferior-octave-process))) - (if inferior-octave-buffer - (kill-buffer inferior-octave-buffer))) + (or (yes-or-no-p "Kill the inferior Octave process and its buffer? ") + (user-error "Aborted")) + (when (inferior-octave-process-live-p) + (process-send-string inferior-octave-process "quit;\n") + (accept-process-output inferior-octave-process)) + (when inferior-octave-buffer + (kill-buffer inferior-octave-buffer))) (defun octave-show-process-buffer () "Make sure that `inferior-octave-buffer' is displayed." @@ -1592,8 +1593,7 @@ (defun octave-eldoc-function () "A function for `eldoc-documentation-function' (which see)." - (when (and inferior-octave-process - (process-live-p inferior-octave-process)) + (when (inferior-octave-process-live-p) (let* ((ppss (syntax-ppss)) (paren-pos (cadr ppss)) (fn (save-excursion ------------------------------------------------------------ revno: 115178 author: Jan Tatarik committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2013-11-21 22:55:59 +0000 message: lisp/gnus/gnus-icalendar.el: Fix org-timestamp for events ending at midnight; RSVP handling diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-11-21 22:15:30 +0000 +++ lisp/gnus/ChangeLog 2013-11-21 22:55:59 +0000 @@ -1,3 +1,13 @@ +2013-11-21 Jan Tatarik + + * gnus-icalendar.el (gnus-icalendar-additional-identities): New. + (gnus-icalendar-identities): Support additional-identities. + +2013-11-21 Jan Tatarik + + * gnus-icalendar.el (gnus-icalendar-event:org-timestamp): Fix + org-timestamp for events ending at midnight. + 2013-11-21 Ivan Shmakov (tiny change) * nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p): Support debbugs === modified file 'lisp/gnus/gnus-icalendar.el' --- lisp/gnus/gnus-icalendar.el 2013-11-15 00:07:54 +0000 +++ lisp/gnus/gnus-icalendar.el 2013-11-21 22:55:59 +0000 @@ -387,14 +387,46 @@ (end (gnus-icalendar-event:end-time event)) (start-date (format-time-string "%Y-%m-%d %a" start)) (start-time (format-time-string "%H:%M" start)) + (start-at-midnight (string= start-time "00:00")) (end-date (format-time-string "%Y-%m-%d %a" end)) (end-time (format-time-string "%H:%M" end)) + (end-at-midnight (string= end-time "00:00")) + (start-end-date-diff (/ (float-time (time-subtract + (date-to-time end-date) + (date-to-time start-date))) + 86400)) (org-repeat (gnus-icalendar-event:org-repeat event)) - (repeat (if org-repeat (concat " " org-repeat) ""))) + (repeat (if org-repeat (concat " " org-repeat) "")) + (time-1-day '(0 86400))) - (if (equal start-date end-date) - (format "<%s %s-%s%s>" start-date start-time end-time repeat) - (format "<%s %s>--<%s %s>" start-date start-time end-date end-time)))) + ;; NOTE: special care is needed with appointments ending at midnight + ;; (typically all-day events): the end time has to be changed to 23:59 to + ;; prevent org agenda showing the event on one additional day + (cond + ;; start/end midnight + ;; A 0:0 - A+1 0:0 -> A + ;; A 0:0 - A+n 0:0 -> A - A+n-1 + ((and start-at-midnight end-at-midnight) (if (> start-end-date-diff 1) + (let ((end-ts (format-time-string "%Y-%m-%d %a" (time-subtract end time-1-day)))) + (format "<%s>--<%s>" start-date end-ts)) + (format "<%s%s>" start-date repeat))) + ;; end midnight + ;; A .:. - A+1 0:0 -> A .:.-23:59 + ;; A .:. - A+n 0:0 -> A .:. - A_n-1 + (end-at-midnight (if (= start-end-date-diff 1) + (format "<%s %s-23:59%s>" start-date start-time repeat) + (let ((end-ts (format-time-string "%Y-%m-%d %a" (time-subtract end time-1-day)))) + (format "<%s %s>--<%s>" start-date start-time end-ts)))) + ;; start midnight + ;; A 0:0 - A .:. -> A 0:0-.:. (default 1) + ;; A 0:0 - A+n .:. -> A - A+n .:. + ((and start-at-midnight + (plusp start-end-date-diff)) (format "<%s>--<%s %s>" start-date end-date end-time)) + ;; default + ;; A .:. - A .:. -> A .:.-.:. + ;; A .:. - B .:. + ((zerop start-end-date-diff) (format "<%s %s-%s%s>" start-date start-time end-time repeat)) + (t (format "<%s %s>--<%s %s>" start-date start-time end-date end-time))))) (defun gnus-icalendar--format-summary-line (summary &optional location) (if location @@ -617,6 +649,22 @@ :type '(string) :group 'gnus-icalendar) +(defcustom gnus-icalendar-additional-identities nil + "We need to know your identity to make replies to calendar requests work. + +Gnus will only offer you the Accept/Tentative/Decline buttons for +calendar events if any of your identities matches at least one +RSVP participant. + +Your identity is guessed automatically from the variables `user-full-name', +`user-mail-address', and `gnus-ignored-from-addresses'. + +If you need even more aliases you can define them here. It really +only makes sense to define names or email addresses." + + :type '(repeat string) + :group 'gnus-icalendar) + (make-variable-buffer-local (defvar gnus-icalendar-reply-status nil)) @@ -630,8 +678,9 @@ (apply #'append (mapcar (lambda (x) (if (listp x) x (list x))) (list user-full-name (regexp-quote user-mail-address) - ; NOTE: this one can be a list - gnus-ignored-from-addresses)))) + ; NOTE: these can be lists + gnus-ignored-from-addresses ; already regexp-quoted + (mapcar #'regexp-quote gnus-icalendar-additional-identities))))) ;; TODO: make the template customizable (defmethod gnus-icalendar-event->gnus-calendar ((event gnus-icalendar-event) &optional reply-status) ------------------------------------------------------------ revno: 115177 author: Ivan Shmakov committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2013-11-21 22:15:30 +0000 message: lisp/gnus/nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p): Support debbugs .log files diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-11-20 04:25:37 +0000 +++ lisp/gnus/ChangeLog 2013-11-21 22:15:30 +0000 @@ -1,3 +1,12 @@ +2013-11-21 Ivan Shmakov (tiny change) + + * nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p): Support debbugs + .log files. + +2013-11-20 David Engster + + * lpath.el: Fix XEmacs warning for `beginning-of-visual-line'. + 2013-11-20 Dave Goldberg * message.el (message-beginning-of-line): === modified file 'lisp/gnus/nndoc.el' --- lisp/gnus/nndoc.el 2013-10-23 03:35:49 +0000 +++ lisp/gnus/nndoc.el 2013-11-21 22:15:30 +0000 @@ -56,6 +56,10 @@ `((mmdf (article-begin . "^\^A\^A\^A\^A\n") (body-end . "^\^A\^A\^A\^A\n")) + (debbugs-db + (file-begin . "^\005") + (article-begin . "^[\005\007]\n") + (body-end . "^\003")) (mime-digest (article-begin . "") (head-begin . "^ ?\n") @@ -460,6 +464,10 @@ (when (looking-at "\^A\^A\^A\^A$") t)) +(defun nndoc-debbugs-db-type-p () + (when (looking-at "\006$") + t)) + (defun nndoc-news-type-p () (when (looking-at "^Path:.*\n") t)) ------------------------------------------------------------ revno: 115176 committer: Eli Zaretskii branch nick: trunk timestamp: Thu 2013-11-21 21:22:42 +0200 message: Correct an utdated reference to M-g in enriched.doc. diff: === modified file 'etc/enriched.doc' --- etc/enriched.doc 2013-01-01 09:11:05 +0000 +++ etc/enriched.doc 2013-11-21 19:22:42 +0000 @@ -71,7 +71,7 @@ bluewhiteFACES and COLORS -You can add faces either with the menu or with M-g. The face is +You can add faces either with the menu or with M-o. The face is applied to the current region. If you are using `transient-mark-mode' and the region is not active, then the face applies to whatever you type next. Any face can have colors. If ------------------------------------------------------------ revno: 115175 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 01:33:30 +0800 message: * progmodes/octave.el (octave-mode, inferior-octave-mode): Fix obsolete variable comment-use-global-state. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 17:18:25 +0000 +++ lisp/ChangeLog 2013-11-21 17:33:30 +0000 @@ -1,3 +1,8 @@ +2013-11-21 Leo Liu + + * progmodes/octave.el (octave-mode, inferior-octave-mode): Fix + obsolete variable comment-use-global-state. + 2013-11-21 Rüdiger Sonderfeld * progmodes/octave.el (octave-mode-map, octave-mode-menu): Add === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-21 17:18:25 +0000 +++ lisp/progmodes/octave.el 2013-11-21 17:33:30 +0000 @@ -547,7 +547,7 @@ ;; a ";" at those places where it's correct (i.e. outside of parens). (setq-local electric-layout-rules '((?\; . after))) - (setq-local comment-use-global-state t) + (setq-local comment-use-syntax t) (setq-local comment-start octave-comment-start) (setq-local comment-end "") (setq-local comment-start-skip octave-comment-start-skip) @@ -703,7 +703,7 @@ :abbrev-table octave-abbrev-table (setq comint-prompt-regexp inferior-octave-prompt) - (setq-local comment-use-global-state t) + (setq-local comment-use-syntax t) (setq-local comment-start octave-comment-start) (setq-local comment-end "") (setq comment-column 32) ------------------------------------------------------------ revno: 115174 committer: Paul Eggert branch nick: trunk timestamp: Thu 2013-11-21 09:26:55 -0800 message: Use just LIBXMENU, not LIBXMENU_DIR and LIBXMENU_BASE. This simplifies the previous change to configure.ac and src/Makefile.in. diff: === modified file 'ChangeLog' --- ChangeLog 2013-11-21 07:50:57 +0000 +++ ChangeLog 2013-11-21 17:26:55 +0000 @@ -1,9 +1,10 @@ 2013-11-21 Paul Eggert Fix some dependency problems that cause unnecessary recompiles. - * configure.ac (OLDXMENU_TARGET, OLDXMENU, LIBXMENU, OLDXMENU_DEPS): + * configure.ac (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS): Remove. - (LIBXMENU_DIR, LIBXMENU_BASE): New vars. + (LIBXMENU): Now is always either empty or a file name, + so that it can be used as a dependency. 2013-11-20 Glenn Morris === modified file 'configure.ac' --- configure.ac 2013-11-21 07:50:57 +0000 +++ configure.ac 2013-11-21 17:26:55 +0000 @@ -4615,17 +4615,13 @@ if test "$HAVE_GTK" = yes || test "$HAVE_MENUS" != yes || test "$HAVE_X11" != yes; then - LIBXMENU_DIR= - LIBXMENU_BASE= + LIBXMENU= elif test "$USE_X_TOOLKIT" = none; then - LIBXMENU_DIR='$(oldXMenudir)/' - LIBXMENU_BASE='libXMenu11.a' + LIBXMENU='$(oldXMenudir)/libXMenu11.a' else - LIBXMENU_DIR='$(lwlibdir)/' - LIBXMENU_BASE='liblw.a' + LIBXMENU='$(lwlibdir)/liblw.a' fi -AC_SUBST(LIBXMENU_DIR) -AC_SUBST(LIBXMENU_BASE) +AC_SUBST(LIBXMENU) if test "${HAVE_MENUS}" = "yes" ; then AC_DEFINE(HAVE_MENUS, 1, === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-21 07:50:57 +0000 +++ src/ChangeLog 2013-11-21 17:26:55 +0000 @@ -6,8 +6,6 @@ * Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS) (really-lwlib, really-oldXMenu, stamp-oldxmenu) (../src/$(OLDXMENU), $(OLDXMENU)): Remove. - (LIBXMENU_DIR, LIBXMENU_BASE): New macros. - (LIBXMENU): Use them. (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu. ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets. (boostrap-clean): No need to remove stamp-oldxmenu. === modified file 'src/Makefile.in' --- src/Makefile.in 2013-11-21 07:50:57 +0000 +++ src/Makefile.in 2013-11-21 17:26:55 +0000 @@ -181,11 +181,7 @@ ## If !HAVE_X11 || USE_GTK, empty. ## Else if USE_X_TOOLKIT, $(lwlibdir)/liblw.a. ## Else $(oldXMenudir)/libXMenu11.a. -## LIBXMENU_DIR is the directory part, including any slash; -## LIBXMENU_BASE is the rest. -LIBXMENU_DIR=@LIBXMENU_DIR@ -LIBXMENU_BASE=@LIBXMENU_BASE@ -LIBXMENU=$(LIBXMENU_DIR)$(LIBXMENU_BASE) +LIBXMENU=@LIBXMENU@ ## xmenu.o if HAVE_X_WINDOWS, else empty. XMENU_OBJ=@XMENU_OBJ@ @@ -204,7 +200,7 @@ ## If HAVE_X11, $(LIBXT) $(LIBX_EXTRA), else empty. LIBX_OTHER=@LIBX_OTHER@ -## LIBXMENU is nil if !HAVE_X_WINDOWS. +## LIBXMENU is empty if !HAVE_X_WINDOWS. ## LD_SWITCH_X_SITE should not be used if not using X, but nothing ## sets it at present, and if something ever does, it should be ## configure, which should set it to nil in non-X builds. ------------------------------------------------------------ revno: 115173 fixes bug: http://debbugs.gnu.org/15935 author: Rüdiger Sonderfeld committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 01:18:25 +0800 message: * progmodes/octave.el (octave-mode-map, octave-mode-menu): Add `octave-source-file'. (octave-source-file): New function. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 16:41:35 +0000 +++ lisp/ChangeLog 2013-11-21 17:18:25 +0000 @@ -1,3 +1,9 @@ +2013-11-21 Rüdiger Sonderfeld + + * progmodes/octave.el (octave-mode-map, octave-mode-menu): Add + `octave-source-file'. + (octave-source-file): New function. (Bug#15935) + 2013-11-21 Kenjiro Nakayama (tiny change) * net/eww.el (eww-local-regex): New variable. === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-10-25 00:52:26 +0000 +++ lisp/progmodes/octave.el 2013-11-21 17:18:25 +0000 @@ -110,6 +110,7 @@ (define-key map "\C-c;" 'octave-update-function-file-comment) (define-key map "\C-hd" 'octave-help) (define-key map "\C-ha" 'octave-lookfor) + (define-key map "\C-c\C-l" 'octave-source-file) (define-key map "\C-c\C-f" 'octave-insert-defun) (define-key map "\C-c\C-il" 'octave-send-line) (define-key map "\C-c\C-ib" 'octave-send-block) @@ -174,6 +175,7 @@ ["Send Current Function" octave-send-defun t] ["Send Region" octave-send-region t] ["Send Buffer" octave-send-buffer t] + ["Source Current File" octave-source-file t] ["Show Process Buffer" octave-show-process-buffer t] ["Hide Process Buffer" octave-hide-process-buffer t] ["Kill Process" octave-kill-process t]) @@ -1463,6 +1465,19 @@ (delete-windows-on inferior-octave-buffer) (message "No buffer named %s" inferior-octave-buffer))) +(defun octave-source-file (file) + "Execute FILE in the inferior Octave process. +This is done using Octave's source function. FILE defaults to +current buffer file unless called with a prefix arg \\[universal-argument]." + (interactive (list (or (and (not current-prefix-arg) buffer-file-name) + (read-file-name "File: " nil nil t)))) + (or (stringp file) + (signal 'wrong-type-argument (list 'stringp file))) + (inferior-octave t) + (with-current-buffer inferior-octave-buffer + (comint-send-string inferior-octave-process + (format "source '%s'\n" file)))) + (defun octave-send-region (beg end) "Send current region to the inferior Octave process." (interactive "r") ------------------------------------------------------------ revno: 115172 committer: Ted Zlatanov branch nick: quickfixes timestamp: Thu 2013-11-21 11:41:35 -0500 message: net/eww.el: Detect localhost and similar patterns. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 16:30:14 +0000 +++ lisp/ChangeLog 2013-11-21 16:41:35 +0000 @@ -1,3 +1,8 @@ +2013-11-21 Kenjiro Nakayama (tiny change) + + * net/eww.el (eww-local-regex): New variable. + (eww): Use it to detect localhost and similar. + 2013-11-21 Leo Liu Add completion for command `ag'. === modified file 'lisp/net/eww.el' --- lisp/net/eww.el 2013-10-16 01:30:55 +0000 +++ lisp/net/eww.el 2013-11-21 16:41:35 +0000 @@ -101,23 +101,28 @@ (defvar eww-start-url nil) (defvar eww-contents-url nil) +(defvar eww-local-regex "localhost" + "When this regex is found in the URL, it's not a keyword but an address.") + ;;;###autoload (defun eww (url) "Fetch URL and render the page. If the input doesn't look like an URL or a domain name, the word(s) will be searched for via `eww-search-prefix'." (interactive "sEnter URL or keywords: ") - (if (and (= (length (split-string url)) 1) - (> (length (split-string url "\\.")) 1)) - (progn - (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) - (setq url (concat "http://" url))) - ;; some site don't redirect final / - (when (string= (url-filename (url-generic-parse-url url)) "") - (setq url (concat url "/")))) - (unless (string-match-p "\\'file:" url) - (setq url (concat eww-search-prefix - (replace-regexp-in-string " " "+" url))))) + (cond ((string-match-p "\\`file:" url)) + (t + (if (and (= (length (split-string url)) 1) + (or (> (length (split-string url "\\.")) 1) + (string-match eww-local-regex url))) + (progn + (unless (string-match-p "\\`[a-zA-Z][-a-zA-Z0-9+.]*://" url) + (setq url (concat "http://" url))) + ;; some site don't redirect final / + (when (string= (url-filename (url-generic-parse-url url)) "") + (setq url (concat url "/")))) + (setq url (concat eww-search-prefix + (replace-regexp-in-string " " "+" url)))))) (url-retrieve url 'eww-render (list url))) ;;;###autoload ------------------------------------------------------------ revno: 115171 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 00:30:14 +0800 message: * pcmpl-x.el (pcmpl-x-ag-options): Handle `[no]' in long options. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 14:15:44 +0000 +++ lisp/ChangeLog 2013-11-21 16:30:14 +0000 @@ -1,8 +1,9 @@ 2013-11-21 Leo Liu Add completion for command `ag'. - * pcmpl-x.el (pcomplete/ag, pcmpl-x-ag-options): New functions. - (pcmpl-x-ag-options): New variable. + * pcmpl-x.el (pcmpl-x-ag-options): New variable. + (pcomplete/ag): New function. + (pcmpl-x-ag-options): New function. Handle `[no]' in long options. 2013-11-21 Stefan Monnier === modified file 'lisp/pcmpl-x.el' --- lisp/pcmpl-x.el 2013-11-21 14:15:44 +0000 +++ lisp/pcmpl-x.el 2013-11-21 16:30:14 +0000 @@ -257,16 +257,23 @@ (setq pcmpl-x-ag-options (with-temp-buffer (when (zerop (call-process "ag" nil t nil "--help")) - (let (so lo) + (let (short long) (goto-char (point-min)) (while (re-search-forward "^ +\\(-[a-zA-Z]\\) " nil t) - (push (match-string 1) so)) + (push (match-string 1) short)) (goto-char (point-min)) (while (re-search-forward - "^ +\\(?:-[a-zA-Z] \\)?\\(--[^ \t\n]+\\) " nil t) - (push (match-string 1) lo)) - (list (cons 'short (nreverse so)) - (cons 'long (nreverse lo))))))))) + "^ +\\(?:-[a-zA-Z] \\)?\\(--\\(\\[no\\]\\)?[^ \t\n]+\\) " + nil t) + (if (match-string 2) + (progn + (replace-match "" nil nil nil 2) + (push (match-string 1) long) + (replace-match "no" nil nil nil 2) + (push (match-string 1) long)) + (push (match-string 1) long))) + (list (cons 'short (nreverse short)) + (cons 'long (nreverse long))))))))) ;;;###autoload (defun pcomplete/ag () ------------------------------------------------------------ revno: 115170 committer: Leo Liu branch nick: trunk timestamp: Thu 2013-11-21 22:15:44 +0800 message: Add completion for command `ag'. * pcmpl-x.el (pcomplete/ag, pcmpl-x-ag-options): New functions. (pcmpl-x-ag-options): New variable. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-21 02:46:00 +0000 +++ lisp/ChangeLog 2013-11-21 14:15:44 +0000 @@ -1,3 +1,9 @@ +2013-11-21 Leo Liu + + Add completion for command `ag'. + * pcmpl-x.el (pcomplete/ag, pcmpl-x-ag-options): New functions. + (pcmpl-x-ag-options): New variable. + 2013-11-21 Stefan Monnier * emacs-lisp/byte-run.el (eval-when-compile): Fix edebug spec === modified file 'lisp/pcmpl-x.el' --- lisp/pcmpl-x.el 2013-04-10 01:22:15 +0000 +++ lisp/pcmpl-x.el 2013-11-21 14:15:44 +0000 @@ -247,5 +247,35 @@ ;;;###autoload (defalias 'pcomplete/ack-grep 'pcomplete/ack) + +;;;; the_silver_search - https://github.com/ggreer/the_silver_searcher + +(defvar pcmpl-x-ag-options nil) + +(defun pcmpl-x-ag-options () + (or pcmpl-x-ag-options + (setq pcmpl-x-ag-options + (with-temp-buffer + (when (zerop (call-process "ag" nil t nil "--help")) + (let (so lo) + (goto-char (point-min)) + (while (re-search-forward "^ +\\(-[a-zA-Z]\\) " nil t) + (push (match-string 1) so)) + (goto-char (point-min)) + (while (re-search-forward + "^ +\\(?:-[a-zA-Z] \\)?\\(--[^ \t\n]+\\) " nil t) + (push (match-string 1) lo)) + (list (cons 'short (nreverse so)) + (cons 'long (nreverse lo))))))))) + +;;;###autoload +(defun pcomplete/ag () + "Completion for the `ag' command." + (while t + (if (pcomplete-match "^-" 0) + (pcomplete-here* (cdr (assq (if (pcomplete-match "^--" 0) 'long 'short) + (pcmpl-x-ag-options)))) + (pcomplete-here* (pcomplete-dirs-or-entries))))) + (provide 'pcmpl-x) ;;; pcmpl-x.el ends here ------------------------------------------------------------ revno: 115169 committer: Paul Eggert branch nick: trunk timestamp: Wed 2013-11-20 23:50:57 -0800 message: Fix some dependency problems that cause unnecessary recompiles. Problem reported by RMS in . * configure.ac (OLDXMENU_TARGET, OLDXMENU, LIBXMENU, OLDXMENU_DEPS): Remove. (LIBXMENU_DIR, LIBXMENU_BASE): New vars. * src/Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS) (really-lwlib, really-oldXMenu, stamp-oldxmenu) (../src/$(OLDXMENU), $(OLDXMENU)): Remove. (LIBXMENU_DIR, LIBXMENU_BASE): New macros. (LIBXMENU): Use them. (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu. ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets. (boostrap-clean): No need to remove stamp-oldxmenu. diff: === modified file 'ChangeLog' --- ChangeLog 2013-11-20 01:50:37 +0000 +++ ChangeLog 2013-11-21 07:50:57 +0000 @@ -1,3 +1,10 @@ +2013-11-21 Paul Eggert + + Fix some dependency problems that cause unnecessary recompiles. + * configure.ac (OLDXMENU_TARGET, OLDXMENU, LIBXMENU, OLDXMENU_DEPS): + Remove. + (LIBXMENU_DIR, LIBXMENU_BASE): New vars. + 2013-11-20 Glenn Morris * make-dist: Distribute build-aux/msys-to-w32. === modified file 'configure.ac' --- configure.ac 2013-11-17 03:58:30 +0000 +++ configure.ac 2013-11-21 07:50:57 +0000 @@ -4598,56 +4598,34 @@ if test "${opsys}" != "mingw32"; then if test "$USE_X_TOOLKIT" = "none"; then LIBXT_OTHER="\$(LIBXSM)" - OLDXMENU_TARGET="really-oldXMenu" else LIBXT_OTHER="\$(LIBXMU) -lXt \$(LIBXTR6) -lXext" - OLDXMENU_TARGET="really-lwlib" fi fi AC_SUBST(LIBXT_OTHER) -## The X Menu stuff is present in the X10 distribution, but missing -## from X11. If we have X10, just use the installed library; -## otherwise, use our own copy. if test "${HAVE_X11}" = "yes" ; then AC_DEFINE(HAVE_X11, 1, - [Define to 1 if you want to use version 11 of X windows. - Otherwise, Emacs expects to use version 10.]) - - if test "$USE_X_TOOLKIT" = "none"; then - OLDXMENU="\${oldXMenudir}/libXMenu11.a" - else - OLDXMENU="\${lwlibdir}/liblw.a" - fi - LIBXMENU="\$(OLDXMENU)" + [Define to 1 if you want to use version 11 of X windows.]) LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)" - OLDXMENU_DEPS="\${OLDXMENU} ../src/\${OLDXMENU}" else - ## For a syntactically valid Makefile; not actually used for anything. - ## See comments in src/Makefile.in. - OLDXMENU=nothing - ## FIXME This case (!HAVE_X11 && HAVE_X_WINDOWS) is no longer possible(?). - if test "${HAVE_X_WINDOWS}" = "yes"; then - LIBXMENU="-lXMenu" - else - LIBXMENU= - fi LIBX_OTHER= - OLDXMENU_DEPS= -fi - -if test "$HAVE_GTK" = "yes" || test "$HAVE_MENUS" != "yes"; then - OLDXMENU_TARGET= - OLDXMENU=nothing - LIBXMENU= - OLDXMENU_DEPS= -fi - -AC_SUBST(OLDXMENU_TARGET) -AC_SUBST(OLDXMENU) -AC_SUBST(LIBXMENU) +fi AC_SUBST(LIBX_OTHER) -AC_SUBST(OLDXMENU_DEPS) + +if test "$HAVE_GTK" = yes || + test "$HAVE_MENUS" != yes || test "$HAVE_X11" != yes; then + LIBXMENU_DIR= + LIBXMENU_BASE= +elif test "$USE_X_TOOLKIT" = none; then + LIBXMENU_DIR='$(oldXMenudir)/' + LIBXMENU_BASE='libXMenu11.a' +else + LIBXMENU_DIR='$(lwlibdir)/' + LIBXMENU_BASE='liblw.a' +fi +AC_SUBST(LIBXMENU_DIR) +AC_SUBST(LIBXMENU_BASE) if test "${HAVE_MENUS}" = "yes" ; then AC_DEFINE(HAVE_MENUS, 1, === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-21 06:46:59 +0000 +++ src/ChangeLog 2013-11-21 07:50:57 +0000 @@ -1,5 +1,17 @@ 2013-11-21 Paul Eggert + Fix some dependency problems that cause unnecessary recompiles. + Problem reported by RMS in + . + * Makefile.in (OLDXMENU_TARGET, OLDXMENU, OLDXMENU_DEPS) + (really-lwlib, really-oldXMenu, stamp-oldxmenu) + (../src/$(OLDXMENU), $(OLDXMENU)): Remove. + (LIBXMENU_DIR, LIBXMENU_BASE): New macros. + (LIBXMENU): Use them. + (temacs$(EXEEXT)): Depend on $(LIBXMENU), not stamp-oldxmenu. + ($(lwlibdir)/liblw.a, $(oldXMenudir)/libXMenu11.a, FORCE): New targets. + (boostrap-clean): No need to remove stamp-oldxmenu. + Fix recently introduced bool vector overrun. This was due to an optimization that went awry. Reported by Glenn Morris in === modified file 'src/Makefile.in' --- src/Makefile.in 2013-11-02 23:49:54 +0000 +++ src/Makefile.in 2013-11-21 07:50:57 +0000 @@ -179,31 +179,13 @@ LIBXT_OTHER=@LIBXT_OTHER@ ## If !HAVE_X11 || USE_GTK, empty. -## Else if USE_X_TOOLKIT really-lwlib, else really-oldxmenu. -OLDXMENU_TARGET=@OLDXMENU_TARGET@ - -## If !HAVE_X11 || USE_GTK, empty. ## Else if USE_X_TOOLKIT, $(lwlibdir)/liblw.a. ## Else $(oldXMenudir)/libXMenu11.a. -## (Actually, rather than being empty, it is set to "nothing". -## It is never actually used for anything in this case. -## This is done because there is a rule with target $(OLDXMENU) below, -## and I think it might be a syntax error with some makes to have -## an empty target, even if the associated rule is never run. -## http://lists.gnu.org/archive/html/help-make/2010-05/msg00058.html -## The alternative would be to put that rule in a makefile fragment.) -OLDXMENU=@OLDXMENU@ - -## If HAVE_X11 && !USE_GTK, $(OLDXMENU) ../src/$(OLDXMENU); else empty. -## We use stamp-xmenu with these two deps to both ensure that lwlib -## gets remade based on its dependencies in its own makefile, -## and remake temacs if lwlib gets changed by this. -OLDXMENU_DEPS=@OLDXMENU_DEPS@ - -## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible). -## Else if !HAVE_X11 || USE_GTK, empty. -## Else $(OLDXMENU). -LIBXMENU=@LIBXMENU@ +## LIBXMENU_DIR is the directory part, including any slash; +## LIBXMENU_BASE is the rest. +LIBXMENU_DIR=@LIBXMENU_DIR@ +LIBXMENU_BASE=@LIBXMENU_BASE@ +LIBXMENU=$(LIBXMENU_DIR)$(LIBXMENU_BASE) ## xmenu.o if HAVE_X_WINDOWS, else empty. XMENU_OBJ=@XMENU_OBJ@ @@ -504,7 +486,7 @@ ## existence when setting Vinstallation_directory (FIXME?). ## This goes on to affect various things, and the emacs binary fails ## to start if Vinstallation_directory has the wrong value. -temacs$(EXEEXT): stamp-oldxmenu $(ALLOBJS) \ +temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \ $(lib)/libgnu.a $(EMACSRES) $(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \ -o temacs $(ALLOBJS) $(lib)/libgnu.a $(W32_RES_LINK) $(LIBES) @@ -514,29 +496,17 @@ test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT) ## The following oldxmenu-related rules are only (possibly) used if -## HAVE_X11 && !USE_GTK, but there is no harm in always defining them -## (provided we take a little care that OLDXMENU is never empty). -really-lwlib: globals.h - cd $(lwlibdir); $(MAKE) $(MFLAGS) \ - CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' - @true # make -t should not create really-lwlib. -.PHONY: really-lwlib - -really-oldXMenu: - cd $(oldXMenudir); $(MAKE) $(MFLAGS) \ - CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' - @true # make -t should not create really-oldXMenu. -.PHONY: really-oldXMenu - -## We do not really need this when OLDXMENU_DEPS is empty, but as -## things stand we need something to satisfy the temacs dependency. -stamp-oldxmenu: $(OLDXMENU_DEPS) - touch stamp-oldxmenu - -## Supply an ordering for parallel make. -../src/$(OLDXMENU): $(OLDXMENU) - -$(OLDXMENU): $(OLDXMENU_TARGET) +## HAVE_X11 && !USE_GTK, but there is no harm in always defining them. +$(lwlibdir)/liblw.a: $(config_h) globals.h lisp.h FORCE + cd $(lwlibdir) && \ + $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' \ + liblw.a +$(oldXMenudir)/libXMenu11.a: FORCE + cd $(oldXMenudir) && \ + $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' \ + libXMenu11.a +FORCE: +.PHONY: FORCE ../config.status: config.in epaths.in @echo "The file ${?:.in=.h} needs to be set up from $?." @@ -572,7 +542,7 @@ ## It should remove all files generated during a compilation/bootstrap, ## but not things like config.status or TAGS. bootstrap-clean: clean - rm -f epaths.h config.h config.stamp stamp-h1 stamp-oldxmenu + rm -f epaths.h config.h config.stamp stamp-h1 if test -f ./.gdbinit; then \ mv ./.gdbinit ./.gdbinit.save; \ if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \