emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Tim Cross <theophilusx@gmail.com>
To: Galaxy Being <borgauf@gmail.com>
Cc: Greg Minshall <minshall@umich.edu>,
	emacs-orgmode Mailinglist <emacs-orgmode@gnu.org>
Subject: Re: How to keep getting org updates
Date: Thu, 14 Oct 2021 07:49:36 +1100	[thread overview]
Message-ID: <87a6jcbp1c.fsf@gmail.com> (raw)
In-Reply-To: <CAFAhFSWk0HiQgxsHEYgqETyGWus6stfHtQsemM_ME_LhBPJwZA@mail.gmail.com>


Galaxy Being <borgauf@gmail.com> writes:

> Appreciate the help and encouragement. This pinning business ... seems like musical chairs with different suggestions here and
> there. Should I use this suggestion, or maybe this one, or...? And where is the maintained list of packages? I see
> .../elpa/archives/ but don't see anything else. Sorry to be a help vampire, but I've never gotten past "casual Emacs user" status
> and don't think I ever will with my hectic schedule.
>

I think it is always a mistake to google for answers without first
checking what Emacs has in the built-in documentation and manual. What
is in the Emacs manual or docstrings for variables and functions is
guaranteed to be accurate for the version of Emacs your running. What
you find googling and serching reddit, stack overflow, etc is more often
than not outdated and from what I've seen, often incorrect. A little
time getting to learn the help commands bound to C-h will save you much
time in the long run.  

Running C-h d v package-pinned-packages shows the following, which
explains how to set the variable for pinning packages. 

package-pinned-packages is a variable defined in ‘package.el’.

Its value is nil

An alist of packages that are pinned to specific archives.
This can be useful if you have multiple package archives enabled,
and want to control which archive a given package gets installed from.

Each element of the alist has the form (PACKAGE . ARCHIVE), where:
 PACKAGE is a symbol representing a package
 ARCHIVE is a string representing an archive (it should be the car of
an element in ‘package-archives’, e.g. "gnu").

Adding an entry to this variable means that only ARCHIVE will be
considered as a source for PACKAGE.  If other archives provide PACKAGE,
they are ignored (for this package).  If ARCHIVE does not contain PACKAGE,
the package will be unavailable.

  This variable may be risky if used as a file-local variable.
  This variable was introduced, or its default value was changed, in
  version 24.4 of Emacs.
  You can customize this variable.

So you would probably want something like

(setq package-pinned-packages '(('org . "gnu")))

assuming "gnu" is the name associated with the elpa.gnu.org archive.

There is also a good overview of the package management system in the
Emacs manual. Reading this will provide all the details you need and
often provide more than one possible solution. For example, you can also
set the priority of different archives so that packages from one archive
will have a higher priority than the same package from another archive.

The list of installed packages I was referring to is in the 'custom'
section of your init file and is called package-selected-packages. The
C-h d v for this variable is


Store here packages installed explicitly by user.
This variable is fed automatically by Emacs when installing a new package.
This variable is used by ‘package-autoremove’ to decide
which packages are no longer needed.
You can use it to (re)install packages on other machines
by running ‘package-install-selected-packages’.

To check if a package is contained in this list here, use
‘package--user-selected-p’, as it may populate the variable with
a sane initial value.

  This variable was introduced, or its default value was changed, in
  version 25.1 of Emacs.
  You can customize this variable.

If your short on time and don't feel you can spend time to get into the
guts of Emacs, then I would also recommend reading the manual section on
customization and use the built-in Emacs customize interface to
configure your system rather than a hand crafted init.el file. 

I think you have two choices when it comes to Emacs. Either you stick
with what comes 'out of the box', which includes adding additional
packages from the standard ELPA and non-gnu ELPA repositories and use
the built in custom system to configure emacs, which has
the advantage of requiring minimal knowledge/understanding of the Emacs
ecosystem or you decide to be more advanced and update to latest
versions of some/all of the things you use, which requires more effort
and time spent to learn more of the intricacies of the ecosystem.

The worst approach is to crate an emacs init.el file filled with little
bits of elisp gathered from various forums which you don't really
understand. While this might make it appear to work OK, it leaves you
high and dry when something stops working and you cannot fix it.

> On Wed, Oct 13, 2021 at 4:55 AM Greg Minshall <minshall@umich.edu> wrote:
>
>  > The install instructions on the main org page were not very clear, to
>  > say the least.
>
>  yes, that does sound messy.  sorry your experience was so unfortunate.
>
>  i guess one question for the list: is there a general solution to the
>  "20200912" > "9.5" issue?  or, "now" that we are only distributing via
>  [git repository and] gnu elpa, will that issue disappear?  does this
>  new-fangled concept of "semantic versioning" come into play here?
>
>  possibly in the info pages we could have a section on
>  "re-installing/upgrading", to help people navigate this process.  (once
>  we, ourselves, have a map.)
>
>  cheers, Greg



  reply	other threads:[~2021-10-13 21:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-11 20:14 How to keep getting org updates Galaxy Being
2021-10-12  5:18 ` Greg Minshall
2021-10-12  6:21 ` Tim Cross
2021-10-13  4:54   ` Galaxy Being
2021-10-13  9:55     ` Greg Minshall
2021-10-13 15:13       ` Galaxy Being
2021-10-13 20:49         ` Tim Cross [this message]
2021-10-14  4:11           ` Greg Minshall

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.orgmode.org/

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

  git send-email \
    --in-reply-to=87a6jcbp1c.fsf@gmail.com \
    --to=theophilusx@gmail.com \
    --cc=borgauf@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=minshall@umich.edu \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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).