From unknown Sun Jun 22 17:12:16 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#41765 <41765@debbugs.gnu.org> To: bug#41765 <41765@debbugs.gnu.org> Subject: Status: 27.0.50; ediprolog 2.1: Please upload the new version to ELPA Reply-To: bug#41765 <41765@debbugs.gnu.org> Date: Mon, 23 Jun 2025 00:12:16 +0000 retitle 41765 27.0.50; ediprolog 2.1: Please upload the new version to ELPA reassign 41765 emacs submitter 41765 Markus Triska severity 41765 normal tag 41765 patch fixed thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 08 16:55:17 2020 Received: (at submit) by debbugs.gnu.org; 8 Jun 2020 20:55:17 +0000 Received: from localhost ([127.0.0.1]:58031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiOnc-00052M-DJ for submit@debbugs.gnu.org; Mon, 08 Jun 2020 16:55:17 -0400 Received: from lists.gnu.org ([209.51.188.17]:53550) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jiOna-00052D-2A for submit@debbugs.gnu.org; Mon, 08 Jun 2020 16:55:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44104) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jiOnZ-0007kk-P4 for bug-gnu-emacs@gnu.org; Mon, 08 Jun 2020 16:55:13 -0400 Received: from [78.47.144.35] (port=56310 helo=metalevel.at) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jiOnX-00079A-Md for bug-gnu-emacs@gnu.org; Mon, 08 Jun 2020 16:55:13 -0400 Received: from mts-Mac-mini.localdomain (localhost [127.0.0.1]) by metalevel.at (Postfix) with ESMTP id 4D5089E759 for ; Mon, 8 Jun 2020 22:46:19 +0200 (CEST) Received: by mts-Mac-mini.localdomain (Postfix, from userid 501) id B2F79E22767; Mon, 8 Jun 2020 22:51:36 +0200 (CEST) From: Markus Triska To: bug-gnu-emacs@gnu.org Subject: 27.0.50; ediprolog 2.1: Please upload the new version to ELPA Date: Mon, 08 Jun 2020 22:51:36 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 78.47.144.35 (failed) Received-SPF: none client-ip=78.47.144.35; envelope-from=triska@metalevel.at; helo=metalevel.at X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/08 16:46:19 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) ediprolog 2.1 is now available from: https://www.metalevel.at/ediprolog/ediprolog.el New in this version: * Scryer Prolog is now the default Prolog system. * ediprolog now supports two Prolog systems by setting the new variable ediprolog-system to 'scryer (default) or 'swi (backwards compatibility). * remote Prolog processes are now supported. This requires Emacs >= 26.1. * ediprolog-prefix can now be buffer-local. Project page: https://www.metalevel.at/ediprolog/ Video demonstration: https://www.metalevel.at/prolog/videos/ediprolog For completeness, I also include a copy of the source code below. Could you please upload the new release to ELPA? Thank you a lot! Markus ;;; ediprolog.el --- Emacs Does Interactive Prolog ;; Copyright (C) 2006-2020 Markus Triska ;; Author: Markus Triska ;; Keywords: languages, processes ;; Homepage: https://www.metalevel.at/ediprolog/ ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see . ;;; Commentary: ;; These definitions let you interact with Prolog in all buffers. ;; You can consult Prolog programs and evaluate embedded queries. ;; Installation ;; ============ ;; ;; Copy ediprolog.el to your load-path and add to your .emacs: ;; ;; (require 'ediprolog) ;; (global-set-key [f10] 'ediprolog-dwim) ;; ;; Restart Emacs and customize ediprolog with ;; ;; M-x customize-group RET ediprolog RET ;; ;; The two most important configuration options are: ;; ;; - `ediprolog-system', either 'scryer or 'swi ;; - `ediprolog-program', the path of the Prolog executable. ;; Usage ;; ===== ;; ;; The central function is `ediprolog-dwim' (Do What I Mean), which is ;; bound to F10 by the snippet above. Depending on the content at ;; point, `ediprolog-dwim' does the "appropriate" thing: If point is ;; on a query, F10 sends the query to a Prolog process, and you ;; interact with the process in the current buffer as on a terminal. ;; Queries start with "?-" or ":-", possibly preceded by "%" and ;; whitespace. An example of a query is (without leading ";;"): ;; ;; %?- member(X, [a,b,c]). ;; ;; If you press F10 when point is on that query, you get: ;; ;; %?- member(X, [a,b,c]). ;; %@ X = a ;; %@ ; X = b ;; %@ ; X = c ;; %@ ; false. ;; ;; When waiting for output of the Prolog process, you can press C-g to ;; unblock Emacs and continue with other work. To resume interaction ;; with the Prolog process, use M-x ediprolog-toplevel RET. ;; If you press F10 when point is *not* on a query, the buffer content ;; is consulted in the Prolog process, and point is moved to the first ;; error (if any). In transient mark mode, if the region is active, ;; only the text in the region is consulted. ;; For convenience, the most recent interactions with the Prolog ;; process are logged in the buffer "*ediprolog-history*". ;; Use M-x ediprolog-localize RET to make any Prolog process started ;; in the current buffer buffer-local. This way, you can run distinct ;; processes simultaneously. Revert with M-x ediprolog-unlocalize RET. ;; `ediprolog-dwim' with prefix arguments has special meanings: ;; ;; C-0 F10 kill Prolog process ;; C-1 F10 always consult buffer (even when point is on a query) ;; C-2 F10 always consult buffer, using a new process ;; C-7 F10 equivalent to `ediprolog-toplevel' ;; C-u F10 first consult buffer, then evaluate query (if any) ;; C-u C-u F10 like C-u F10, with a new process ;; Tested with Scryer Prolog 0.8.119 and SWI-Prolog 8.1.24, ;; using Emacs versions 26.1 and 27.0.50. ;;; Code: (defconst ediprolog-version "2.1") (defgroup ediprolog nil "Transparent interaction with Prolog." :group 'languages :group 'processes) (defcustom ediprolog-system 'scryer "Prolog system that is used for interaction." :group 'ediprolog :type '(choice (const :tag "Scryer Prolog" :value scryer) (const :tag "SWI Prolog" :value swi))) (defcustom ediprolog-program (or (executable-find "scryer-prolog") (executable-find "swipl") "scryer-prolog") "Program name of the Prolog executable." :group 'ediprolog :type 'string) (defcustom ediprolog-program-switches nil "List of switches passed to the Prolog process. Example: '(\"-G128M\" \"-O\")" :group 'ediprolog :type '(repeat string)) (defcustom ediprolog-prefix "%@ " "String to prepend when inserting output from the Prolog process into the buffer." :group 'ediprolog :type 'string) (defcustom ediprolog-max-history 80000 "Maximal size of history buffers storing recent interactions, or nil to never truncate the history." :group 'ediprolog :type 'sexp) (defvar ediprolog-process nil "A Prolog process.") (defvar ediprolog-temp-buffer nil "Buffer that temporarily saves process output ") (defvar ediprolog-seen-prompt nil "Whether a prompt was (recently) emitted by the Prolog process.") (defvar ediprolog-read-term nil "Whether the Prolog process waits for the user to enter a term.") (defvar ediprolog-indent-prefix "" "Any whitespace occurring before the most recently executed query.") (defvar ediprolog-temp-file nil "File name of a temporary file used for consulting the buffer.") (defvar ediprolog-consult-buffer "*ediprolog-consult*" "Buffer used to display consult output.") (defvar ediprolog-consult-window nil "Window used to show consult output.") (defvar ediprolog-history-buffer nil "Buffer that stores recent interactions.") (defvar ediprolog-interrupted nil "True iff waiting for the previous query was interrupted with C-g.") (defun ediprolog-prompt () "Prompt used in the Prolog session." (cond ((eq ediprolog-system 'swi) "?ediprolog- ") (t "?- "))) (defmacro ediprolog-wait-for-prompt-after (&rest forms) "Evaluate FORMS and wait for prompt." `(progn (setq ediprolog-seen-prompt nil) (ediprolog-ensure-buffer "temp") (with-current-buffer ediprolog-temp-buffer (let (buffer-read-only) (erase-buffer))) ;; execute forms with default-directory etc. from invocation buffer ,@forms (while (not ediprolog-seen-prompt) ;; Wait for output/sentinel and update consult window, if any. ;; As `accept-process-output' does not run the sentinel in ;; Emacs <= 23.1, we use `sit-for' to do both. However, ;; `sit-for' returns immediately if keyboard input is ;; available, so we must discard input. (discard-input) (sit-for 0.1)))) (defmacro ediprolog-remember-interruption (form) "Set `ediprolog-interrupted' if evaluation of FORM was interrupted." `(condition-case nil ,form (quit (setq ediprolog-interrupted t)))) ;; Only the sentinel can reliably detect if no more output follows - ;; even if process-status is 'exit, further output can still follow. (defun ediprolog-sentinel (proc str) (when (buffer-live-p (process-buffer proc)) (with-current-buffer (process-buffer proc) (let ((status (with-temp-buffer (insert str) (while (search-backward "\n" nil t) (replace-match "")) (buffer-string)))) (ediprolog-log (format "%s: %s.\n" (substring (current-time-string) 4 -5) status) "green" t)) (when (string-match "^\\(?:finished\n\\|exited abnormally\\|killed\n\\)" str) (setq ediprolog-seen-prompt t))))) (defun ediprolog-ensure-buffer (name) (let ((str (format "*ediprolog-%s*" name)) (var (intern (format "ediprolog-%s-buffer" name)))) (unless (buffer-live-p (symbol-value var)) (set var (generate-new-buffer str)) (with-current-buffer (symbol-value var) (buffer-disable-undo) (setq buffer-read-only t))))) (defun ediprolog-log (str &optional col nl) (ediprolog-ensure-buffer "history") (with-current-buffer ediprolog-history-buffer (let (buffer-read-only) (goto-char (point-max)) (let ((s (format "%s%s" (if (and nl (not (bolp))) "\n" "") str))) (insert (if col (propertize s 'face `(:background ,col)) s))) (let ((size (- (point-max) (point-min)))) (when (and ediprolog-max-history (> size ediprolog-max-history)) ;; delete older half of the (possibly narrowed) history (delete-region (point-min) (+ (point-min) (/ size 2)))))))) (defun ediprolog-run-prolog () "Start a Prolog process." (let ((args (cons ediprolog-program ediprolog-program-switches))) (ediprolog-log (format "%s: starting: %S\n" (substring (current-time-string) 4 -5) args) "green" t) (condition-case nil (ediprolog-wait-for-prompt-after (setq ediprolog-process (apply #'start-file-process "ediprolog" (current-buffer) args)) (set-process-sentinel ediprolog-process 'ediprolog-sentinel) (set-process-filter ediprolog-process 'ediprolog-wait-for-prompt-filter) (when (eq ediprolog-system 'swi) (ediprolog-send-string (format "set_prolog_flag(color_term, false), \ set_prolog_flag(toplevel_prompt, '%s').\n" (ediprolog-prompt))))) ((error quit) (ediprolog-log "No prompt found." "red" t) (error "No prompt from: %s" ediprolog-program))))) (defun ediprolog-kill-prolog () "Kill the Prolog process and run the process sentinel." (when (ediprolog-running) (delete-process ediprolog-process))) (defun ediprolog-show-consult-output (str) (with-current-buffer (get-buffer-create ediprolog-consult-buffer) (setq buffer-read-only t) (let (buffer-read-only) (erase-buffer) (insert str) (goto-char (point-min)) ;; remove normal consult status lines, which start with "%" (while (re-search-forward "^[\t ]*%.*\n" nil t) (delete-region (match-beginning 0) (match-end 0)))) (setq str (buffer-string))) ;; show consult output in a separate window unless it is a prefix of ;; success (i.e., consulted without errors), or still an incomplete ;; line that starts with a comment character (unless (or (string-match "^[\t ]*\\(?:%.*\\)?\\'" str) (let ((success "true.")) (and (<= (length str) (length success)) (string= str (substring success 0 (length str)))))) (setq ediprolog-consult-window (display-buffer ediprolog-consult-buffer)) (set-window-dedicated-p ediprolog-consult-window t) (fit-window-to-buffer ediprolog-consult-window (/ (frame-height) 2)))) (defun ediprolog-consult-filter (proc str) "Filter used when consulting a file, showing consult output." (with-current-buffer (ediprolog-temp-buffer proc) (goto-char (point-max)) (let (buffer-read-only) (insert str)) (with-current-buffer (process-buffer proc) (ediprolog-log str)) (when (re-search-backward (format "^%s" (regexp-quote (ediprolog-prompt))) nil t) (with-current-buffer (process-buffer proc) (setq ediprolog-seen-prompt t))) (skip-chars-backward "\n") (ediprolog-show-consult-output (buffer-substring (point-min) (point))))) (defun ediprolog-wait-for-prompt-filter (proc str) "Filter that only waits until prompt appears." (with-current-buffer (ediprolog-temp-buffer proc) (goto-char (point-max)) (let (buffer-read-only) (insert str)) (with-current-buffer (process-buffer proc) (ediprolog-log str)) (when (re-search-backward (format "^%s" (regexp-quote (ediprolog-prompt))) nil t) (with-current-buffer (process-buffer proc) (setq ediprolog-seen-prompt t))))) ;;;###autoload (defun ediprolog-dwim (&optional arg) "Load current buffer into Prolog or post query (Do What I Mean). If invoked on a line starting with `:-' or `?-', possibly preceded by `%' and whitespace, call `ediprolog-interact' with the query as argument. Otherwise, call `ediprolog-consult'. With prefix argument 0, kill the Prolog process. With prefix 1, equivalent to `ediprolog-consult'. With prefix 2, equivalent to `ediprolog-consult' with a new Prolog process. With prefix 7, equivalent to `ediprolog-toplevel'. With just C-u, first call `ediprolog-consult' and then, if point is on a query, call `ediprolog-interact' with it as argument. Analogously, C-u C-u for `ediprolog-consult' with a new process. With other prefix arguments, equivalent to `ediprolog-remove-interactions'." (interactive "P") (cond ((eq arg 0) (unless (ediprolog-running) (error "No Prolog process running")) (ediprolog-kill-prolog) (message "Prolog process killed.")) ((eq arg 1) (ediprolog-consult)) ((eq arg 2) (ediprolog-consult t)) ((eq arg 7) (unless (ediprolog-more-solutions) (error "No query in progress")) (ediprolog-toplevel)) ((equal arg '(4)) (ediprolog-consult) (ediprolog-query)) ((equal arg '(16)) (ediprolog-consult t) (ediprolog-query)) ((null arg) (unless (ediprolog-query) (ediprolog-consult))) (t (ediprolog-remove-interactions)))) (defun ediprolog-process-ready () "Error if the previous query is still in progress." (when (and ediprolog-interrupted (ediprolog-running) (ediprolog-more-solutions)) (error "Previous query still in progress, see `ediprolog-toplevel'")) (setq ediprolog-interrupted nil)) (defun ediprolog-query () "If point is on a query, send it to the process and start interaction." (ediprolog-process-ready) (when (and (not (and transient-mark-mode mark-active)) (save-excursion (beginning-of-line) (looking-at "\\([\t ]*\\)%*[\t ]*[:?]- *"))) ;; whitespace preceding the query is the indentation level (setq ediprolog-indent-prefix (match-string 1)) (let* ((from (goto-char (match-end 0))) (to (if (re-search-forward "\\.[\t ]*\\(?:%.*\\)?$" nil t) ;; omit trailing whitespace (+ (point) (skip-chars-backward "\t ")) (error "Missing `.' at the end of this query"))) (query (buffer-substring-no-properties from to)) (handle (and (fboundp 'prepare-change-group) (fboundp 'undo-amalgamate-change-group) (cons t (prepare-change-group))))) (end-of-line) (insert "\n" ediprolog-indent-prefix ediprolog-prefix) (ediprolog-interact (format "%s\n" (mapconcat #'identity ;; `%' can precede each query line (split-string query "\n[ \t%]*") " "))) (when handle (undo-amalgamate-change-group (cdr handle)))) t)) ;;;###autoload (defun ediprolog-interact (query) "Send QUERY to Prolog process and interact as on a terminal. You can use \\[keyboard-quit] to unblock Emacs in the case of longer-running queries. When the query completes and the toplevel asks for input, use \\[ediprolog-toplevel] to resume interaction with the Prolog process." (unless (ediprolog-running) (ediprolog-run-prolog)) (set-marker (process-mark ediprolog-process) (point)) (set-process-buffer ediprolog-process (current-buffer)) (set-process-filter ediprolog-process 'ediprolog-interact-filter) (ediprolog-ensure-buffer "temp") (with-current-buffer ediprolog-temp-buffer (let (buffer-read-only) (erase-buffer))) (setq ediprolog-seen-prompt nil ediprolog-read-term nil) (ediprolog-send-string query) (ediprolog-toplevel)) (defun ediprolog-send-string (str) "Send string to Prolog process and log it." (ediprolog-log str "cyan") (process-send-string ediprolog-process str)) (defun ediprolog-toplevel () "Start or resume Prolog toplevel interaction in the buffer. You can use this function if you have previously quit (with \\[keyboard-quit]) waiting for a longer-running query and now want to resume interaction with the toplevel." (interactive) (when ediprolog-process (select-window (display-buffer (process-buffer ediprolog-process)))) (ediprolog-remember-interruption (while (ediprolog-more-solutions) (let (str char) ;; poll for user input; meanwhile, process output can arrive (while (and (ediprolog-more-solutions) (null str)) (goto-char (process-mark ediprolog-process)) (if ediprolog-read-term (progn (setq str (concat (read-string "Input: ") "\n")) (ediprolog-insert-at-marker str ediprolog-indent-prefix ediprolog-prefix) (setq ediprolog-read-term nil)) (condition-case nil (when (setq char (if (>= emacs-major-version 22) (read-char nil nil 0.1) (with-timeout (0.1 nil) (read-char)))) ;; char-to-string might still yield an error (C-0 etc.) (setq str (char-to-string char))) (error (message "Non-character key") ;; non-character keys must not remain in the input ;; buffer, lest `read-char' return immediately (discard-input))))) (when (ediprolog-more-solutions) (if (eq char ?\C-c) ; char can be nil too ;; sending C-c directly yields strange SWI buffering (interrupt-process ediprolog-process) (ediprolog-send-string str))))))) ;;;###autoload (defun ediprolog-remove-interactions () "Remove all lines starting with `ediprolog-prefix' from buffer. In transient mark mode, if the region is active, the function operates on the region." (interactive) (save-excursion (save-restriction (when (and transient-mark-mode mark-active) (narrow-to-region (region-beginning) (region-end))) (goto-char (point-min)) (flush-lines (concat "^[\t ]*" (regexp-quote ediprolog-prefix))))) (message "Interactions removed.")) ;;;###autoload (defun ediprolog-consult (&optional new-process) "Buffer is loaded into a Prolog process. If NEW-PROCESS is non-nil, start a new process. Otherwise use the existing process, if any. In case of errors, point is moved to the position of the first error, and the mark is left at the previous position. In transient mark mode, if the region is active, the function operates on the region." (interactive) (when (string= (buffer-name) ediprolog-consult-buffer) (error "Cannot consult the consult buffer")) (when (window-live-p ediprolog-consult-window) (condition-case nil ;; deleting the window can still raise an error, if the window ;; was the only window in the frame and the consult buffer was ;; killed (and it thus displays a different buffer now) (delete-window ediprolog-consult-window) (error nil))) (when (buffer-live-p ediprolog-consult-buffer) (bury-buffer ediprolog-consult-buffer)) (when new-process (ediprolog-kill-prolog)) (unless (ediprolog-running) (ediprolog-run-prolog)) (ediprolog-process-ready) (set-process-buffer ediprolog-process (current-buffer)) (when (or (null ediprolog-temp-file) (and buffer-file-name (not (equal (file-remote-p ediprolog-temp-file) (file-remote-p buffer-file-name))))) (setq ediprolog-temp-file (make-nearby-temp-file "ediprolog"))) (let ((start (if (and transient-mark-mode mark-active) (region-beginning) (point-min))) (end (if (and transient-mark-mode mark-active) (region-end) (point-max)))) (write-region start end ediprolog-temp-file nil 'silent)) (set-process-filter ediprolog-process 'ediprolog-consult-filter) (ediprolog-remember-interruption (ediprolog-wait-for-prompt-after (ediprolog-send-string (format "['%s'].\n" (if (fboundp 'file-local-name) (file-local-name ediprolog-temp-file) ediprolog-temp-file))))) (message "%s consulted." (if (and transient-mark-mode mark-active) "Region" "Buffer")) ;; go to line of the first error, if any (let ((line (with-current-buffer ediprolog-temp-buffer (when (save-excursion (goto-char (point-min)) (re-search-forward "^ERROR.*?:\\([0-9]+\\)" nil t)) (string-to-number (match-string 1)))))) (when line (let ((p (point))) (goto-char (if (and transient-mark-mode mark-active) (region-beginning) (point-min))) ;; doing this first would affect (region-beginning) (push-mark p)) (forward-line (1- line))))) (defun ediprolog-running () "True iff `ediprolog-process' is a running process." (and (processp ediprolog-process) (eq (process-status ediprolog-process) 'run))) (defun ediprolog-more-solutions () "True iff there could be more solutions from the process." (not ediprolog-seen-prompt)) (defun ediprolog-interact-filter (proc string) "Insert output from the process and update the state." (when (and (buffer-live-p (ediprolog-temp-buffer proc)) (buffer-live-p (process-buffer proc))) (let (str) (with-current-buffer (ediprolog-temp-buffer proc) (goto-char (point-max)) (let (buffer-read-only) (insert string)) (with-current-buffer (process-buffer proc) (ediprolog-log string)) ;; read a term from the user? (when (re-search-backward "^|: $" nil t) (with-current-buffer (process-buffer proc) (setq ediprolog-read-term t)) (setq str (buffer-string)) (let (buffer-read-only) (erase-buffer))) ;; check for prompt (goto-char (point-max)) (when (re-search-backward (format "^%s" (regexp-quote (ediprolog-prompt))) nil t) (with-current-buffer (process-buffer proc) (setq ediprolog-seen-prompt t)) ;; ignore further output due to accidental user input (C-j, ;; C-m, etc.) while the query was running (set-process-filter proc 'ediprolog-ignore-filter) (skip-chars-backward "\n") (setq str (buffer-substring (point-min) (point)))) (unless str (goto-char (point-max)) ;; delay final line if it can still be completed to prompt (let ((l (buffer-substring (line-beginning-position) (point)))) (when (and (<= (length l) (length (ediprolog-prompt))) (string= l (substring (ediprolog-prompt) 0 (length l)))) (goto-char (line-beginning-position)))) ;; delay emitting newlines until we are sure no prompt ;; follows; one or two newlines can precede a prompt (let ((d (abs (skip-chars-backward "\n")))) (when (> d 2) (forward-char (- d 2)))) (setq str (buffer-substring (point-min) (point))) (let (buffer-read-only) (delete-region (point-min) (point)))) (when str (with-temp-buffer ;; precede each line with ediprolog prefices (insert str) (goto-char (point-min)) (while (search-forward "\n" nil t) (replace-match (format "\n%s%s" (buffer-local-value 'ediprolog-indent-prefix (process-buffer proc)) (buffer-local-value 'ediprolog-prefix (process-buffer proc))))) (setq str (buffer-string))) (with-current-buffer (process-buffer proc) (let ((near (<= (abs (- (point) (process-mark proc))) 1))) (ediprolog-insert-at-marker str) (when near ;; catch up with output if point was reasonably close (goto-char (process-mark proc)))))))))) (defun ediprolog-insert-at-marker (&rest args) "Insert strings ARGS at marker and update the marker." (save-excursion (goto-char (process-mark ediprolog-process)) (end-of-line) (apply #'insert args) (set-marker (process-mark ediprolog-process) (point)))) (defun ediprolog-ignore-filter (proc str) "Log and then ignore all process output." (with-current-buffer (process-buffer proc) (ediprolog-log str "gray"))) (defun ediprolog-temp-buffer (proc) (with-current-buffer (process-buffer proc) ;; temp buffer can be buffer local ediprolog-temp-buffer)) (defun ediprolog-map-variables (func) "Call FUNC with all ediprolog variables that can become buffer-local." (mapc func '(ediprolog-process ediprolog-system ediprolog-program ediprolog-program-switches ediprolog-temp-buffer ediprolog-history-buffer ediprolog-seen-prompt ediprolog-interrupted ediprolog-read-term ediprolog-indent-prefix ediprolog-prefix ediprolog-temp-file))) ;;;###autoload (defun ediprolog-localize () "After `ediprolog-localize', any Prolog process started from this buffer becomes buffer-local." (interactive) (unless (local-variable-p 'ediprolog-process) (ediprolog-map-variables #'make-local-variable) (setq ediprolog-temp-file nil ediprolog-process nil ediprolog-history-buffer nil ediprolog-temp-buffer nil))) (defun ediprolog-unlocalize () "Revert the effect of `ediprolog-localize'." (interactive) (when (local-variable-p 'ediprolog-process) (ediprolog-kill-prolog) (ediprolog-map-variables #'kill-local-variable))) (provide 'ediprolog) ;;; ediprolog.el ends here From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 13 16:43:38 2020 Received: (at 41765) by debbugs.gnu.org; 13 Aug 2020 20:43:38 +0000 Received: from localhost ([127.0.0.1]:51244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6K4Y-0004aO-AC for submit@debbugs.gnu.org; Thu, 13 Aug 2020 16:43:38 -0400 Received: from mail-yb1-f173.google.com ([209.85.219.173]:40793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6K4U-0004Zv-Kz for 41765@debbugs.gnu.org; Thu, 13 Aug 2020 16:43:35 -0400 Received: by mail-yb1-f173.google.com with SMTP id q3so4016628ybp.7 for <41765@debbugs.gnu.org>; Thu, 13 Aug 2020 13:43:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:user-agent :mime-version:date:message-id:subject:to:cc; bh=xcPDm//vOu1RsoDT0cKfhpVMxx7nXdJ/2WrPY2WFX7w=; b=Y+N96jYDZBxYHmcabXu3mvFuQmoX6WVD2Q4AjU+1AmsBoX4H4bOs3JwnjcbPx/zCEQ kSv+lXLE4TKyjAD9KTRHPinEtY3GaVgGJocxXxJokJuDIeUGTUN3T5YngkOGu+mIEHvf uRP9+ExL7yys631qr/kd1JYKvaxR+66nf/lPoiDCwysS5sa6cZ/2JiEuwpKj9vFDS0ZH r7DJbjW6XZnhX+XBvatgeK551LGc7OT3BhQUK2DC5LdWdHJuDpXEqPD8XnwYmVgnIz8S txrN8JWJMbW3UXBH/270B5OjEgAlqwqMciZa9dIGvCdd0ozvrga8K3H5D/K1O7sTeB94 c2/A== X-Gm-Message-State: AOAM533vWc99J20REnNMYRR7ztNa+aCkU+Ld5XSYZrsDeu6QHG9uxMY0 EBmAVOn7wZyvfRV3rIXG/6nLTmeMaDb+a8lO0OzGMS9PelY= X-Google-Smtp-Source: ABdhPJyOR/LINOx1TxQBwd0imGMAJzSM7itJITpMDFPLVzU88G8edVCgT+iw8OjNEhRYV1bnVg9LhNYUdyjJUZQCk4c= X-Received: by 2002:a25:b88b:: with SMTP id w11mr9806073ybj.129.1597351409244; Thu, 13 Aug 2020 13:43:29 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 13 Aug 2020 13:43:28 -0700 From: Stefan Kangas In-Reply-To: (Markus Triska's message of "Mon, 08 Jun 2020 22:51:36 +0200") References: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Date: Thu, 13 Aug 2020 13:43:28 -0700 Message-ID: Subject: Re: bug#41765: 27.0.50; ediprolog 2.1: Please upload the new version to ELPA To: Markus Triska Content-Type: multipart/mixed; boundary="00000000000054728c05acc85b1a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 41765 Cc: 41765@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000054728c05acc85b1a Content-Type: text/plain; charset="UTF-8" Hi Markus, Markus Triska writes: > ediprolog 2.1 is now available from: > > https://www.metalevel.at/ediprolog/ediprolog.el [...] > Could you please upload the new release to ELPA? I merged your version with the one in ELPA. Could you please review the attached patch and see that it looks okay? Best regards, Stefan Kangas --00000000000054728c05acc85b1a Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Add-version-2.1-of-ediprolog.el.patch" Content-Disposition: attachment; filename="0001-Add-version-2.1-of-ediprolog.el.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 537b2785b44455f2_0.1 RnJvbSA2OGMyNDY3YjZmM2NhNDJjNjcwODAyMTY2ZTI2OGIyNzdkODFjOTk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrdXMgVHJpc2thIDx0cmlza2FAbWV0YWxldmVsLmF0PgpE YXRlOiBUaHUsIDEzIEF1ZyAyMDIwIDIyOjMwOjU5ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gQWRk IHZlcnNpb24gMi4xIG9mIGVkaXByb2xvZy5lbAoKLS0tCiBwYWNrYWdlcy9lZGlwcm9sb2cvZWRp cHJvbG9nLmVsIHwgOTkgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv cGFja2FnZXMvZWRpcHJvbG9nL2VkaXByb2xvZy5lbCBiL3BhY2thZ2VzL2VkaXByb2xvZy9lZGlw cm9sb2cuZWwKaW5kZXggYmI1ODFmY2UzLi5kODhkMzBlODAgMTAwNjQ0Ci0tLSBhL3BhY2thZ2Vz L2VkaXByb2xvZy9lZGlwcm9sb2cuZWwKKysrIGIvcGFja2FnZXMvZWRpcHJvbG9nL2VkaXByb2xv Zy5lbApAQCAtMSwxMCArMSwxMCBAQAogOzs7IGVkaXByb2xvZy5lbCAtLS0gRW1hY3MgRG9lcyBJ bnRlcmFjdGl2ZSBQcm9sb2cKIAotOzsgQ29weXJpZ2h0IChDKSAyMDA2LTIwMDksIDIwMTItMjAx MywgMjAxNi0yMDE3ICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKzs7IENvcHlyaWdo dCAoQykgMjAwNi0yMDA5LCAyMDEyLTIwMTMsIDIwMTYtMjAxNywgMjAyMCAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiAKIDs7IEF1dGhvcjogTWFya3VzIFRyaXNrYSA8dHJpc2thQG1l dGFsZXZlbC5hdD4KIDs7IEtleXdvcmRzOiBsYW5ndWFnZXMsIHByb2Nlc3NlcwotOzsgVmVyc2lv bjogMS4yCis7OyBWZXJzaW9uOiAyLjEKIDs7IEhvbWVwYWdlOiBodHRwczovL3d3dy5tZXRhbGV2 ZWwuYXQvZWRpcHJvbG9nLwogCiA7OyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtMjIsNyArMjIsNyBAQAogCiA7Ozsg Q29tbWVudGFyeToKIAotOzsgVGhlc2UgZGVmaW5pdGlvbnMgbGV0IHlvdSBpbnRlcmFjdCB3aXRo IFNXSS1Qcm9sb2cgaW4gYWxsIGJ1ZmZlcnMuCis7OyBUaGVzZSBkZWZpbml0aW9ucyBsZXQgeW91 IGludGVyYWN0IHdpdGggUHJvbG9nIGluIGFsbCBidWZmZXJzLgogOzsgWW91IGNhbiBjb25zdWx0 IFByb2xvZyBwcm9ncmFtcyBhbmQgZXZhbHVhdGUgZW1iZWRkZWQgcXVlcmllcy4KIAogOzsgSW5z dGFsbGF0aW9uCkBAIC0zNyw2ICszNywxMCBAQAogOzsKIDs7ICAgICBNLXggY3VzdG9taXplLWdy b3VwIFJFVCBlZGlwcm9sb2cgUkVUCiA7OworOzsgVGhlIHR3byBtb3N0IGltcG9ydGFudCBjb25m aWd1cmF0aW9uIG9wdGlvbnMgYXJlOgorOzsKKzs7ICAgIC0gYGVkaXByb2xvZy1zeXN0ZW0nLCBl aXRoZXIgJ3NjcnllciBvciAnc3dpCis7OyAgICAtIGBlZGlwcm9sb2ctcHJvZ3JhbScsIHRoZSBw YXRoIG9mIHRoZSBQcm9sb2cgZXhlY3V0YWJsZS4KIAogOzsgVXNhZ2UKIDs7ID09PT09CkBAIC01 NCwxMCArNTgsMTAgQEAKIDs7IElmIHlvdSBwcmVzcyBGMTAgd2hlbiBwb2ludCBpcyBvbiB0aGF0 IHF1ZXJ5LCB5b3UgZ2V0OgogOzsKIDs7ICAgJT8tIG1lbWJlcihYLCBbYSxiLGNdKS4KLTs7ICAg JUAgWCA9IGEgOwotOzsgICAlQCBYID0gYiA7Ci07OyAgICVAIFggPSBjIDsKLTs7ICAgJUAgZmFs c2UuCis7OyAgICVAICAgIFggPSBhCis7OyAgICVAIDsgIFggPSBiCis7OyAgICVAIDsgIFggPSBj Cis7OyAgICVAIDsgIGZhbHNlLgogOzsKIDs7IFdoZW4gd2FpdGluZyBmb3Igb3V0cHV0IG9mIHRo ZSBQcm9sb2cgcHJvY2VzcywgeW91IGNhbiBwcmVzcyBDLWcgdG8KIDs7IHVuYmxvY2sgRW1hY3Mg YW5kIGNvbnRpbnVlIHdpdGggb3RoZXIgd29yay4gVG8gcmVzdW1lIGludGVyYWN0aW9uCkBAIC04 NCwxOSArODgsMzAgQEAKIDs7ICAgQy11IEYxMCAgICAgICBmaXJzdCBjb25zdWx0IGJ1ZmZlciwg dGhlbiBldmFsdWF0ZSBxdWVyeSAoaWYgYW55KQogOzsgICBDLXUgQy11IEYxMCAgIGxpa2UgQy11 IEYxMCwgd2l0aCBhIG5ldyBwcm9jZXNzCiAKLTs7IFRlc3RlZCB3aXRoIFNXSS1Qcm9sb2cgNy4z LjIxICsgRW1hY3MgMjIuMSwgMjMuNCwgMjQuNSwgMjUuMSBhbmQgMjYuMAorOzsgVGVzdGVkIHdp dGggU2NyeWVyIFByb2xvZyAwLjguMTE5IGFuZCBTV0ktUHJvbG9nIDguMS4yNCwKKzs7IHVzaW5n IEVtYWNzIHZlcnNpb25zIDI2LjEgYW5kIDI3LjAuNTAuCiAKIDs7OyBDb2RlOgogCi0oZGVmY29u c3QgZWRpcHJvbG9nLXZlcnNpb24gIjEuMiIpCisoZGVmY29uc3QgZWRpcHJvbG9nLXZlcnNpb24g IjIuMSIpCiAKIChkZWZncm91cCBlZGlwcm9sb2cgbmlsCi0gICJUcmFuc3BhcmVudCBpbnRlcmFj dGlvbiB3aXRoIFNXSS1Qcm9sb2cuIgorICAiVHJhbnNwYXJlbnQgaW50ZXJhY3Rpb24gd2l0aCBQ cm9sb2cuIgogICA6Z3JvdXAgJ2xhbmd1YWdlcwogICA6Z3JvdXAgJ3Byb2Nlc3NlcykKIAorCiso ZGVmY3VzdG9tIGVkaXByb2xvZy1zeXN0ZW0gJ3NjcnllcgorICAiUHJvbG9nIHN5c3RlbSB0aGF0 IGlzIHVzZWQgZm9yIGludGVyYWN0aW9uLiIKKyAgOmdyb3VwICdlZGlwcm9sb2cKKyAgOnR5cGUg JyhjaG9pY2UgKGNvbnN0IDp0YWcgIlNjcnllciBQcm9sb2ciIDp2YWx1ZSBzY3J5ZXIpCisgICAg ICAgICAgICAgICAgIChjb25zdCA6dGFnICJTV0kgUHJvbG9nIiA6dmFsdWUgc3dpKSkpCisKIChk ZWZjdXN0b20gZWRpcHJvbG9nLXByb2dyYW0KLSAgKG9yIChleGVjdXRhYmxlLWZpbmQgInN3aXBs IikgKGV4ZWN1dGFibGUtZmluZCAicGwiKSAic3dpcGwiKQorICAob3IKKyAgIChleGVjdXRhYmxl LWZpbmQgInNjcnllci1wcm9sb2ciKQorICAgKGV4ZWN1dGFibGUtZmluZCAic3dpcGwiKQorICAg InNjcnllci1wcm9sb2ciKQogICAiUHJvZ3JhbSBuYW1lIG9mIHRoZSBQcm9sb2cgZXhlY3V0YWJs ZS4iCiAgIDpncm91cCAnZWRpcHJvbG9nCiAgIDp0eXBlICdzdHJpbmcpCkBAIC0xMzYsMTAgKzE1 MSw2IEBAIG5pbCB0byBuZXZlciB0cnVuY2F0ZSB0aGUgaGlzdG9yeS4iCiAoZGVmdmFyIGVkaXBy b2xvZy10ZW1wLWZpbGUgICAgICAgICAgICAgbmlsCiAgICJGaWxlIG5hbWUgb2YgYSB0ZW1wb3Jh cnkgZmlsZSB1c2VkIGZvciBjb25zdWx0aW5nIHRoZSBidWZmZXIuIikKIAotKGRlZnZhciBlZGlw cm9sb2ctcHJvbXB0ICI/ZWRpcHJvbG9nLSAiCi0gICJQcm9tcHQgdXNlZCBpbiB0aGUgUHJvbG9n IHNlc3Npb24uIEl0IG11c3QgZGlmZmVyIGZyb20gdGhlCi1kZWZhdWx0IFByb2xvZyBwcm9tcHQu IikKLQogKGRlZnZhciBlZGlwcm9sb2ctY29uc3VsdC1idWZmZXIgIiplZGlwcm9sb2ctY29uc3Vs dCoiCiAgICJCdWZmZXIgdXNlZCB0byBkaXNwbGF5IGNvbnN1bHQgb3V0cHV0LiIpCiAKQEAgLTE1 Miw2ICsxNjMsMTEgQEAgZGVmYXVsdCBQcm9sb2cgcHJvbXB0LiIpCiAoZGVmdmFyIGVkaXByb2xv Zy1pbnRlcnJ1cHRlZCAgICAgICAgICAgbmlsCiAgICJUcnVlIGlmZiB3YWl0aW5nIGZvciB0aGUg cHJldmlvdXMgcXVlcnkgd2FzIGludGVycnVwdGVkIHdpdGggQy1nLiIpCiAKKyhkZWZ1biBlZGlw cm9sb2ctcHJvbXB0ICgpCisgICJQcm9tcHQgdXNlZCBpbiB0aGUgUHJvbG9nIHNlc3Npb24uIgor ICAoY29uZCAoKGVxIGVkaXByb2xvZy1zeXN0ZW0gJ3N3aSkgIj9lZGlwcm9sb2ctICIpCisgICAg ICAgICAodCAiPy0gIikpKQorCiAoZGVmbWFjcm8gZWRpcHJvbG9nLXdhaXQtZm9yLXByb21wdC1h ZnRlciAoJnJlc3QgZm9ybXMpCiAgICJFdmFsdWF0ZSBGT1JNUyBhbmQgd2FpdCBmb3IgcHJvbXB0 LiIKICAgYChwcm9nbgpAQCAtMjI1LDEzICsyNDEsMTQgQEAgZGVmYXVsdCBQcm9sb2cgcHJvbXB0 LiIpCiAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbAogICAgICAgICAoZWRpcHJvbG9nLXdhaXQtZm9y LXByb21wdC1hZnRlcgogICAgICAgICAgKHNldHEgZWRpcHJvbG9nLXByb2Nlc3MKLSAgICAgICAg ICAgICAgIChhcHBseSAjJ3N0YXJ0LXByb2Nlc3MgImVkaXByb2xvZyIgKGN1cnJlbnQtYnVmZmVy KSBhcmdzKSkKKyAgICAgICAgICAgICAgIChhcHBseSAjJ3N0YXJ0LWZpbGUtcHJvY2VzcyAiZWRp cHJvbG9nIiAoY3VycmVudC1idWZmZXIpIGFyZ3MpKQogICAgICAgICAgKHNldC1wcm9jZXNzLXNl bnRpbmVsIGVkaXByb2xvZy1wcm9jZXNzICdlZGlwcm9sb2ctc2VudGluZWwpCiAgICAgICAgICAo c2V0LXByb2Nlc3MtZmlsdGVyIGVkaXByb2xvZy1wcm9jZXNzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdlZGlwcm9sb2ctd2FpdC1mb3ItcHJvbXB0LWZpbHRlcikKLSAgICAgICAgIChl ZGlwcm9sb2ctc2VuZC1zdHJpbmcKLSAgICAgICAgICAoZm9ybWF0ICJzZXRfcHJvbG9nX2ZsYWco Y29sb3JfdGVybSwgZmFsc2UpLFwKLSAgICAgICAgICAgICAgICAgICckc2V0X3Byb21wdCcoJyVz JykuXG4iIGVkaXByb2xvZy1wcm9tcHQpKSkKKyAgICAgICAgICh3aGVuIChlcSBlZGlwcm9sb2ct c3lzdGVtICdzd2kpCisgICAgICAgICAgIChlZGlwcm9sb2ctc2VuZC1zdHJpbmcKKyAgICAgICAg ICAgIChmb3JtYXQgInNldF9wcm9sb2dfZmxhZyhjb2xvcl90ZXJtLCBmYWxzZSksIFwKK3NldF9w cm9sb2dfZmxhZyh0b3BsZXZlbF9wcm9tcHQsICclcycpLlxuIiAoZWRpcHJvbG9nLXByb21wdCkp KSkpCiAgICAgICAoKGVycm9yIHF1aXQpCiAgICAgICAgKGVkaXByb2xvZy1sb2cgIk5vIHByb21w dCBmb3VuZC4iICJyZWQiIHQpCiAgICAgICAgKGVycm9yICJObyBwcm9tcHQgZnJvbTogJXMiIGVk aXByb2xvZy1wcm9ncmFtKSkpKSkKQEAgLTI3Miw3ICsyODksNyBAQCBkZWZhdWx0IFByb2xvZyBw cm9tcHQuIikKICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAocHJvY2Vzcy1idWZmZXIgcHJvYykK ICAgICAgIChlZGlwcm9sb2ctbG9nIHN0cikpCiAgICAgKHdoZW4gKHJlLXNlYXJjaC1iYWNrd2Fy ZAotICAgICAgICAgICAoZm9ybWF0ICJeJXMiIChyZWdleHAtcXVvdGUgZWRpcHJvbG9nLXByb21w dCkpIG5pbCB0KQorICAgICAgICAgICAoZm9ybWF0ICJeJXMiIChyZWdleHAtcXVvdGUgKGVkaXBy b2xvZy1wcm9tcHQpKSkgbmlsIHQpCiAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAocHJvY2Vz cy1idWZmZXIgcHJvYykKICAgICAgICAgKHNldHEgZWRpcHJvbG9nLXNlZW4tcHJvbXB0IHQpKSkK ICAgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiXG4iKQpAQCAtMjg3LDcgKzMwNCw3IEBAIGRlZmF1 bHQgUHJvbG9nIHByb21wdC4iKQogICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChwcm9jZXNzLWJ1 ZmZlciBwcm9jKQogICAgICAgKGVkaXByb2xvZy1sb2cgc3RyKSkKICAgICAod2hlbiAocmUtc2Vh cmNoLWJhY2t3YXJkCi0gICAgICAgICAgIChmb3JtYXQgIl4lcyIgKHJlZ2V4cC1xdW90ZSBlZGlw cm9sb2ctcHJvbXB0KSkgbmlsIHQpCisgICAgICAgICAgIChmb3JtYXQgIl4lcyIgKHJlZ2V4cC1x dW90ZSAoZWRpcHJvbG9nLXByb21wdCkpKSBuaWwgdCkKICAgICAgICh3aXRoLWN1cnJlbnQtYnVm ZmVyIChwcm9jZXNzLWJ1ZmZlciBwcm9jKQogICAgICAgICAoc2V0cSBlZGlwcm9sb2ctc2Vlbi1w cm9tcHQgdCkpKSkpCiAKQEAgLTMzOCw3ICszNTUsNyBAQCBhcmd1bWVudHMsIGVxdWl2YWxlbnQg dG8gYGVkaXByb2xvZy1yZW1vdmUtaW50ZXJhY3Rpb25zJy4iCiAgICh3aGVuIChhbmQgKG5vdCAo YW5kIHRyYW5zaWVudC1tYXJrLW1vZGUgbWFyay1hY3RpdmUpKQogICAgICAgICAgICAgIChzYXZl LWV4Y3Vyc2lvbgogICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQotICAgICAgICAg ICAgICAgKGxvb2tpbmctYXQgIlxcKFtcdCBdKlxcKSUqW1x0IF0qWzo/XS0iKSkpCisgICAgICAg ICAgICAgICAobG9va2luZy1hdCAiXFwoW1x0IF0qXFwpJSpbXHQgXSpbOj9dLSAqIikpKQogICAg IDs7IHdoaXRlc3BhY2UgcHJlY2VkaW5nIHRoZSBxdWVyeSBpcyB0aGUgaW5kZW50YXRpb24gbGV2 ZWwKICAgICAoc2V0cSBlZGlwcm9sb2ctaW5kZW50LXByZWZpeCAobWF0Y2gtc3RyaW5nIDEpKQog ICAgIChsZXQqICgoZnJvbSAoZ290by1jaGFyIChtYXRjaC1lbmQgMCkpKQpAQCAtNDcwLDggKzQ4 NywxMSBAQCBvcGVyYXRlcyBvbiB0aGUgcmVnaW9uLiIKICAgICAoZWRpcHJvbG9nLXJ1bi1wcm9s b2cpKQogICAoZWRpcHJvbG9nLXByb2Nlc3MtcmVhZHkpCiAgIChzZXQtcHJvY2Vzcy1idWZmZXIg ZWRpcHJvbG9nLXByb2Nlc3MgKGN1cnJlbnQtYnVmZmVyKSkKLSAgKHVubGVzcyBlZGlwcm9sb2ct dGVtcC1maWxlCi0gICAgKHNldHEgZWRpcHJvbG9nLXRlbXAtZmlsZSAobWFrZS10ZW1wLWZpbGUg ImVkaXByb2xvZyIpKSkKKyAgKHdoZW4gKG9yIChudWxsIGVkaXByb2xvZy10ZW1wLWZpbGUpCisg ICAgICAgICAgICAoYW5kIGJ1ZmZlci1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgKG5vdCAo ZXF1YWwgKGZpbGUtcmVtb3RlLXAgZWRpcHJvbG9nLXRlbXAtZmlsZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZpbGUtcmVtb3RlLXAgYnVmZmVyLWZpbGUtbmFtZSkpKSkpCisgICAg KHNldHEgZWRpcHJvbG9nLXRlbXAtZmlsZSAobWFrZS1uZWFyYnktdGVtcC1maWxlICJlZGlwcm9s b2ciKSkpCiAgIChsZXQgKChzdGFydCAoaWYgKGFuZCB0cmFuc2llbnQtbWFyay1tb2RlIG1hcmst YWN0aXZlKQogICAgICAgICAgICAgICAgICAgIChyZWdpb24tYmVnaW5uaW5nKSAocG9pbnQtbWlu KSkpCiAgICAgICAgIChlbmQgKGlmIChhbmQgdHJhbnNpZW50LW1hcmstbW9kZSBtYXJrLWFjdGl2 ZSkKQEAgLTQ4MCw3ICs1MDAsMTAgQEAgb3BlcmF0ZXMgb24gdGhlIHJlZ2lvbi4iCiAgIChzZXQt cHJvY2Vzcy1maWx0ZXIgZWRpcHJvbG9nLXByb2Nlc3MgJ2VkaXByb2xvZy1jb25zdWx0LWZpbHRl cikKICAgKGVkaXByb2xvZy1yZW1lbWJlci1pbnRlcnJ1cHRpb24KICAgIChlZGlwcm9sb2ctd2Fp dC1mb3ItcHJvbXB0LWFmdGVyCi0gICAgKGVkaXByb2xvZy1zZW5kLXN0cmluZyAoZm9ybWF0ICJb JyVzJ10uXG4iIGVkaXByb2xvZy10ZW1wLWZpbGUpKSkpCisgICAgKGVkaXByb2xvZy1zZW5kLXN0 cmluZyAoZm9ybWF0ICJbJyVzJ10uXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChpZiAoZmJvdW5kcCAnZmlsZS1sb2NhbC1uYW1lKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbGUtbG9jYWwtbmFtZSBlZGlwcm9sb2ctdGVtcC1maWxlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXByb2xvZy10ZW1wLWZpbGUp KSkpKQogICAobWVzc2FnZSAiJXMgY29uc3VsdGVkLiIgKGlmIChhbmQgdHJhbnNpZW50LW1hcmst bW9kZSBtYXJrLWFjdGl2ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVnaW9u IiAiQnVmZmVyIikpCiAgIDs7IGdvIHRvIGxpbmUgb2YgdGhlIGZpcnN0IGVycm9yLCBpZiBhbnkK QEAgLTQ5MCwxMCArNTEzLDEzIEBAIG9wZXJhdGVzIG9uIHRoZSByZWdpb24uIgogICAgICAgICAg ICAgICAgICAgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkICJeRVJST1IuKj86XFwoWzAtOV0rXFwp IiBuaWwgdCkpCiAgICAgICAgICAgICAgICAgICAoc3RyaW5nLXRvLW51bWJlciAobWF0Y2gtc3Ry aW5nIDEpKSkpKSkKICAgICAod2hlbiBsaW5lCi0gICAgICAoaWYgKGFuZCB0cmFuc2llbnQtbWFy ay1tb2RlIG1hcmstYWN0aXZlKQotICAgICAgICAgICh3aGVuIChmYm91bmRwICdsaW5lLW51bWJl ci1hdC1wb3MpCi0gICAgICAgICAgICAoZ290by1saW5lICgrIChsaW5lLW51bWJlci1hdC1wb3Mg KHJlZ2lvbi1iZWdpbm5pbmcpKSBsaW5lIC0xKSkpCi0gICAgICAgIChnb3RvLWxpbmUgbGluZSkp KSkpCisgICAgICAobGV0ICgocCAocG9pbnQpKSkKKyAgICAgICAgKGdvdG8tY2hhciAoaWYgKGFu ZCB0cmFuc2llbnQtbWFyay1tb2RlIG1hcmstYWN0aXZlKQorICAgICAgICAgICAgICAgICAgICAg ICAocmVnaW9uLWJlZ2lubmluZykKKyAgICAgICAgICAgICAgICAgICAgIChwb2ludC1taW4pKSkK KyAgICAgICAgOzsgZG9pbmcgdGhpcyBmaXJzdCB3b3VsZCBhZmZlY3QgKHJlZ2lvbi1iZWdpbm5p bmcpCisgICAgICAgIChwdXNoLW1hcmsgcCkpCisgICAgICAoZm9yd2FyZC1saW5lICgxLSBsaW5l KSkpKSkKIAogKGRlZnVuIGVkaXByb2xvZy1ydW5uaW5nICgpCiAgICJUcnVlIGlmZiBgZWRpcHJv bG9nLXByb2Nlc3MnIGlzIGEgcnVubmluZyBwcm9jZXNzLiIKQEAgLTUyNSw3ICs1NTEsNyBAQCBv cGVyYXRlcyBvbiB0aGUgcmVnaW9uLiIKICAgICAgICAgOzsgY2hlY2sgZm9yIHByb21wdAogICAg ICAgICAoZ290by1jaGFyIChwb2ludC1tYXgpKQogICAgICAgICAod2hlbiAocmUtc2VhcmNoLWJh Y2t3YXJkCi0gICAgICAgICAgICAgICAoZm9ybWF0ICJeJXMiIChyZWdleHAtcXVvdGUgZWRpcHJv bG9nLXByb21wdCkpIG5pbCB0KQorICAgICAgICAgICAgICAgKGZvcm1hdCAiXiVzIiAocmVnZXhw LXF1b3RlIChlZGlwcm9sb2ctcHJvbXB0KSkpIG5pbCB0KQogICAgICAgICAgICh3aXRoLWN1cnJl bnQtYnVmZmVyIChwcm9jZXNzLWJ1ZmZlciBwcm9jKQogICAgICAgICAgICAgKHNldHEgZWRpcHJv bG9nLXNlZW4tcHJvbXB0IHQpKQogICAgICAgICAgIDs7IGlnbm9yZSBmdXJ0aGVyIG91dHB1dCBk dWUgdG8gYWNjaWRlbnRhbCB1c2VyIGlucHV0IChDLWosCkBAIC01MzcsOCArNTYzLDggQEAgb3Bl cmF0ZXMgb24gdGhlIHJlZ2lvbi4iCiAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkK ICAgICAgICAgICA7OyBkZWxheSBmaW5hbCBsaW5lIGlmIGl0IGNhbiBzdGlsbCBiZSBjb21wbGV0 ZWQgdG8gcHJvbXB0CiAgICAgICAgICAgKGxldCAoKGwgKGJ1ZmZlci1zdWJzdHJpbmcgKGxpbmUt YmVnaW5uaW5nLXBvc2l0aW9uKSAocG9pbnQpKSkpCi0gICAgICAgICAgICAod2hlbiAoYW5kICg8 PSAobGVuZ3RoIGwpIChsZW5ndGggZWRpcHJvbG9nLXByb21wdCkpCi0gICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmc9IGwgKHN1YnN0cmluZyBlZGlwcm9sb2ctcHJvbXB0IDAgKGxlbmd0aCBs KSkpKQorICAgICAgICAgICAgKHdoZW4gKGFuZCAoPD0gKGxlbmd0aCBsKSAobGVuZ3RoIChlZGlw cm9sb2ctcHJvbXB0KSkpCisgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmc9IGwgKHN1YnN0 cmluZyAoZWRpcHJvbG9nLXByb21wdCkgMCAobGVuZ3RoIGwpKSkpCiAgICAgICAgICAgICAgIChn b3RvLWNoYXIgKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKSkpKQogICAgICAgICAgIDs7IGRlbGF5 IGVtaXR0aW5nIG5ld2xpbmVzIHVudGlsIHdlIGFyZSBzdXJlIG5vIHByb21wdAogICAgICAgICAg IDs7IGZvbGxvd3M7IG9uZSBvciB0d28gbmV3bGluZXMgY2FuIHByZWNlZGUgYSBwcm9tcHQKQEAg LTU1NSw4ICs1ODEsMTEgQEAgb3BlcmF0ZXMgb24gdGhlIHJlZ2lvbi4iCiAgICAgICAgICAgICAo Z290by1jaGFyIChwb2ludC1taW4pKQogICAgICAgICAgICAgKHdoaWxlIChzZWFyY2gtZm9yd2Fy ZCAiXG4iIG5pbCB0KQogICAgICAgICAgICAgICAocmVwbGFjZS1tYXRjaAotICAgICAgICAgICAg ICAgKGZvcm1hdCAiXG4lcyVzIiAod2l0aC1jdXJyZW50LWJ1ZmZlciAocHJvY2Vzcy1idWZmZXIg cHJvYykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGlwcm9sb2ctaW5kZW50 LXByZWZpeCkgZWRpcHJvbG9nLXByZWZpeCkpKQorICAgICAgICAgICAgICAgKGZvcm1hdCAiXG4l cyVzIgorICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLWxvY2FsLXZhbHVlICdlZGlwcm9s b2ctaW5kZW50LXByZWZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChwcm9jZXNzLWJ1ZmZlciBwcm9jKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKGJ1ZmZl ci1sb2NhbC12YWx1ZSAnZWRpcHJvbG9nLXByZWZpeAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChwcm9jZXNzLWJ1ZmZlciBwcm9jKSkpKSkKICAgICAgICAgICAg IChzZXRxIHN0ciAoYnVmZmVyLXN0cmluZykpKQogICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVm ZmVyIChwcm9jZXNzLWJ1ZmZlciBwcm9jKQogICAgICAgICAgICAgKGxldCAoKG5lYXIgKDw9IChh YnMgKC0gKHBvaW50KSAocHJvY2Vzcy1tYXJrIHByb2MpKSkgMSkpKQpAQCAtNTg3LDYgKzYxNiw3 IEBAIG9wZXJhdGVzIG9uIHRoZSByZWdpb24uIgogKGRlZnVuIGVkaXByb2xvZy1tYXAtdmFyaWFi bGVzIChmdW5jKQogICAiQ2FsbCBGVU5DIHdpdGggYWxsIGVkaXByb2xvZyB2YXJpYWJsZXMgdGhh dCBjYW4gYmVjb21lIGJ1ZmZlci1sb2NhbC4iCiAgIChtYXBjIGZ1bmMgJyhlZGlwcm9sb2ctcHJv Y2VzcworICAgICAgICAgICAgICAgZWRpcHJvbG9nLXN5c3RlbQogICAgICAgICAgICAgICAgZWRp cHJvbG9nLXByb2dyYW0KICAgICAgICAgICAgICAgIGVkaXByb2xvZy1wcm9ncmFtLXN3aXRjaGVz CiAgICAgICAgICAgICAgICBlZGlwcm9sb2ctdGVtcC1idWZmZXIKQEAgLTU5NSw2ICs2MjUsNyBA QCBvcGVyYXRlcyBvbiB0aGUgcmVnaW9uLiIKICAgICAgICAgICAgICAgIGVkaXByb2xvZy1pbnRl cnJ1cHRlZAogICAgICAgICAgICAgICAgZWRpcHJvbG9nLXJlYWQtdGVybQogICAgICAgICAgICAg ICAgZWRpcHJvbG9nLWluZGVudC1wcmVmaXgKKyAgICAgICAgICAgICAgIGVkaXByb2xvZy1wcmVm aXgKICAgICAgICAgICAgICAgIGVkaXByb2xvZy10ZW1wLWZpbGUpKSkKIAogOzs7IyMjYXV0b2xv YWQKLS0gCjIuMjguMAoK --00000000000054728c05acc85b1a-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 13 16:43:33 2020 Received: (at control) by debbugs.gnu.org; 13 Aug 2020 20:43:33 +0000 Received: from localhost ([127.0.0.1]:51241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6K4T-0004a7-4R for submit@debbugs.gnu.org; Thu, 13 Aug 2020 16:43:33 -0400 Received: from mail-yb1-f182.google.com ([209.85.219.182]:38940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6K4R-0004Zr-SM for control@debbugs.gnu.org; Thu, 13 Aug 2020 16:43:32 -0400 Received: by mail-yb1-f182.google.com with SMTP id q16so4019137ybk.6 for ; Thu, 13 Aug 2020 13:43:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=At7Elk+UrERx+VnXYwUk/JuSL70GAkQna7Pj/1Es2UA=; b=r+nMUqiZ7+yf0sVXTpRzrzVujTm23t+LAckteeNSOf7Z4M72GUbzoG6vzrHPXnRah9 GTisbiDa49MpTs4BB6mIpO6O0MyXNQVsRQTYouoXrqpX4PA1amnhVGWCWiP2k76+9nsf EhcEqA9mlNGjuUsMHHaLi+dhh+AUxReDogJxXQCCmhmDqqxPFW3AQjAQVuhUYjl5DKOV +55zMPIjj1W79HXeZ/LZ/4SwlJR0Fvn5sfKfyvLypZYbZxhdnYdFJbL9LcEefWXS8OAs D7CRVjGdMi7zxVDaUplQzFJgZuvNZRiybu2Wv5Xqecxyfy5greEXZqThtdeVGRVGHo5Y R0wQ== X-Gm-Message-State: AOAM5305Pcl/4cDk/tjvOJF5Fk1b2Lq7rABqrv1cMYiRKE/CVEXH98YV vWXK1IDXUZ6zGHyH2V/hsCx2qPhVhdVGejizBf2LPYAJfvU= X-Google-Smtp-Source: ABdhPJyCeHVZbuAtr1Wpng+grOxVvazJZh4yolU38mvjNPkqfaaML5yaO/HzWt9p4re+i/s68EUpDLftyhiovRhVV0Y= X-Received: by 2002:a25:7007:: with SMTP id l7mr9268951ybc.85.1597351406094; Thu, 13 Aug 2020 13:43:26 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 13 Aug 2020 13:43:25 -0700 From: Stefan Kangas MIME-Version: 1.0 Date: Thu, 13 Aug 2020 13:43:25 -0700 Message-ID: Subject: To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 41765 + patch thanks Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.219.182 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.219.182 listed in wl.mailspike.net] 0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 2.0 BLANK_SUBJECT Subject is present but empty X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) tags 41765 + patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 13 17:39:31 2020 Received: (at 41765) by debbugs.gnu.org; 13 Aug 2020 21:39:31 +0000 Received: from localhost ([127.0.0.1]:51307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6Kwc-0001uc-SA for submit@debbugs.gnu.org; Thu, 13 Aug 2020 17:39:31 -0400 Received: from [78.47.144.35] (port=52390 helo=metalevel.at) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6KwZ-0001uP-44 for 41765@debbugs.gnu.org; Thu, 13 Aug 2020 17:39:29 -0400 Received: by metalevel.at (Postfix, from userid 1000) id DD4E69E76D; Thu, 13 Aug 2020 23:39:25 +0200 (CEST) From: Markus Triska To: Stefan Kangas Subject: Re: bug#41765: 27.0.50; ediprolog 2.1: Please upload the new version to ELPA References: Date: Thu, 13 Aug 2020 23:39:25 +0200 In-Reply-To: (Stefan Kangas's message of "Thu, 13 Aug 2020 13:43:28 -0700") Message-ID: <87y2mi6x9u.fsf@metalevel.at> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Dear Stefan, Stefan Kangas writes: > I merged your version with the one in ELPA. Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_NONE SPF: sender does not publish an SPF Record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 41765 Cc: 41765@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) Dear Stefan, Stefan Kangas writes: > I merged your version with the one in ELPA. Thank you a lot! > Could you please review the attached patch and see that it looks okay? It looks perfect! Thank you, and all the best, Markus From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 14 03:42:46 2020 Received: (at 41765) by debbugs.gnu.org; 14 Aug 2020 07:42:46 +0000 Received: from localhost ([127.0.0.1]:51680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6UMP-00026G-Vt for submit@debbugs.gnu.org; Fri, 14 Aug 2020 03:42:46 -0400 Received: from mail-yb1-f180.google.com ([209.85.219.180]:38348) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k6UMN-00025u-Vt for 41765@debbugs.gnu.org; Fri, 14 Aug 2020 03:42:45 -0400 Received: by mail-yb1-f180.google.com with SMTP id e187so4743103ybc.5 for <41765@debbugs.gnu.org>; Fri, 14 Aug 2020 00:42:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=a0fIOR7DSKpCx/IusFvqvStbLRLLa1qGnkfT/NyaMNA=; b=VtegIJKG7jdYXClXk6gXkN0XrVl2i+Hlxj3NytCIfYXnhpmx3ffRA0zXOrA1+8xYA0 OPIo0uog+7/CrsdODvu+iztH50QGKxB8WIERVKJ50Mej+TpRoxKBoaO9K46c/7G1Kgho Jjj1ebGKD8nVC6s4AwlgT8JWGjkMfvZuJQBV0h5RFYynZpZGKznEQQw6auuy+An/Vp3i KulZ3TuysR8egPkur50mmdCm38BFd7CDaDq5yyRRHVEl7rndyADhCaL14Y2WzRmcZ1uO ngm3H1jYwW5JqbmQg/IB2IR7m9D9Zs5NmO2z4tdMoi8tr+wBpIu13hjQzjM95OhM3P+N xAag== X-Gm-Message-State: AOAM532pwJ2eFFGeN8OWcZDPcb+XIxOkVqrxHfy/+dfqTRYJqp/1vD+g PbL9LuuvaNrMMKkkhEkanmDds2lAIH2Zz01RZO4= X-Google-Smtp-Source: ABdhPJx+vr9ae+jWg9hyCYodT8UYW2Q1yPp4JPWw8sdW21Mcl1gcs16PYDc4GHTTVpk/DPlfzr+kdduwMCDRsDYz3IE= X-Received: by 2002:a25:4ed7:: with SMTP id c206mr1924401ybb.129.1597390958332; Fri, 14 Aug 2020 00:42:38 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 14 Aug 2020 00:42:37 -0700 From: Stefan Kangas In-Reply-To: <87y2mi6x9u.fsf@metalevel.at> References: <87y2mi6x9u.fsf@metalevel.at> MIME-Version: 1.0 Date: Fri, 14 Aug 2020 00:42:37 -0700 Message-ID: Subject: Re: bug#41765: 27.0.50; ediprolog 2.1: Please upload the new version to ELPA To: Markus Triska Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 41765 Cc: 41765@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 41765 + fixed close 41765 thanks Hi Markus, Markus Triska writes: > It looks perfect! OK. Pushed to ELPA: https://git.savannah.gnu.org/cgit/emacs/elpa.git/commit/?id=68c2467b6f3 The packages are rebuilt every day, so it could take up to 24 hours for it to propagate to the user-facing archive. > Thank you, and all the best, Thanks for the new version! Closing this bug now. Best regards, Stefan Kangas From unknown Sun Jun 22 17:12:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 11 Sep 2020 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator