Function: bookmark-store
bookmark-store is a byte-compiled function defined in bookmark.el.gz.
Signature
(bookmark-store NAME ALIST NO-OVERWRITE)
Documentation
Store the bookmark NAME with data ALIST.
If NO-OVERWRITE is non-nil and another bookmark of the same name already
exists in bookmark-alist, record the new bookmark without throwing away the
old one.
Source Code
;; Defined in /usr/src/emacs/lisp/bookmark.el.gz
(defun bookmark-store (name alist no-overwrite)
"Store the bookmark NAME with data ALIST.
If NO-OVERWRITE is non-nil and another bookmark of the same name already
exists in `bookmark-alist', record the new bookmark without throwing away the
old one."
(bookmark-maybe-load-default-file)
(let ((stripped-name (copy-sequence name)))
(set-text-properties 0 (length stripped-name) nil stripped-name)
(if (and (not no-overwrite)
(bookmark-get-bookmark stripped-name 'noerror))
;; Already existing bookmark under that name and
;; no prefix arg means just overwrite old bookmark.
(let ((bm (bookmark-get-bookmark stripped-name)))
;; First clean up if previously location was fontified.
(when bookmark-fringe-mark
(bookmark--remove-fringe-mark bm))
;; Modify using the new (NAME . ALIST) format.
(setcdr bm alist))
;; Otherwise just put it onto the front of the list. Either the
;; bookmark doesn't exist already, or there is no prefix arg.
;; In either case, we want the new bookmark on the front of the
;; list, since the list is kept in reverse order of creation.
(push (cons stripped-name alist) bookmark-alist))
;; Added by db
(setq bookmark-current-bookmark stripped-name)
(setq bookmark-alist-modification-count
(1+ bookmark-alist-modification-count))
(if (bookmark-time-to-save-p)
(bookmark-save))
(setq bookmark-current-bookmark stripped-name)
(bookmark-bmenu-surreptitiously-rebuild-list)))