unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Marcin Borkowski <mbork@mbork.pl>
To: "help-gnu-emacs\@gnu.org" <help-gnu-emacs@gnu.org>
Subject: Re: One-off history for read-string
Date: Sat, 26 Sep 2015 09:46:28 +0200	[thread overview]
Message-ID: <87io6xbp2j.fsf@mbork.pl> (raw)
In-Reply-To: <CAOj2CQSm6OOxowx0BNC7pdezZYoK8LyfB7Obk+-dHxd9byXOwA@mail.gmail.com>


On 2015-09-26, at 04:33, John Mastro <john.b.mastro@gmail.com> wrote:

> Emanuel Berg <embe8573@student.uu.se> wrote:
>
>> > However, I don't care about /writing/ it to some
>> > variable in Emacs, since the new entry will be
>> > uploaded to the server anyway, and taken from there
>> > the next time, together with the rest of
>> > the history.
>>
>> So then, what does it matter?
>
> He wants history to be available to the user (e.g. `M-p'), but he wants
> that history to come from a server rather than be accumulated in the
> usual way. So the history on the server is likely changing over time,
> but from the Lisp code's perspective it's conceptually a new list each
> time.

Yes.

> Something like this, if I understand him correctly:

Yes, you do.

>     (defvar readonly-history)
>
>     (defun get-history-list-from-server ()
>       ;; Imagine we fetch this list of HTTP
>       (list "foo" "bar" "baz" "quux"))
>
>     (defun my-read-string (prompt)
>       (let ((readonly-history (get-history-list-from-server)))
>         (read-string prompt nil 'readonly-history)))

And this is exactly what I'm doing now, modulo variable names (and
get-history-list-from-server, which is really

(mapcar #'get-piece-of-history a-big-datastructure-got-from-the-server)

or really

(mapcar #'get-piece-of-history
        (cdr
          (assoc 'datastructure-key
                 an-even-bigger-alist-of-similar-but-unrelated-datastructures-got-from-the-server)

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



      parent reply	other threads:[~2015-09-26  7:46 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-24 12:10 One-off history for read-string Marcin Borkowski
2015-09-24 15:47 ` Stefan Monnier
2015-09-24 16:27   ` Marcin Borkowski
2015-09-24 17:04     ` Drew Adams
2015-09-25  0:34 ` Emanuel Berg
2015-09-25  7:16   ` Marcin Borkowski
2015-09-26  2:02     ` Emanuel Berg
2015-09-26  2:33       ` John Mastro
2015-09-26  2:47         ` Emanuel Berg
2015-09-26  7:46           ` Marcin Borkowski
2015-09-27  1:20             ` Emanuel Berg
2015-09-27  6:02               ` Marcin Borkowski
2015-09-27 23:14                 ` Emanuel Berg
2015-09-28  0:50             ` Stefan Monnier
2015-09-26  7:46         ` Marcin Borkowski [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87io6xbp2j.fsf@mbork.pl \
    --to=mbork@mbork.pl \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).