emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 14b5ba7c61f: bibtex-string-file-path and bibtex-file-path are


From: john muhl
Subject: Re: master 14b5ba7c61f: bibtex-string-file-path and bibtex-file-path are lists of directories
Date: Sun, 12 Jan 2025 17:34:29 -0600

Hello. make bootstrap fails for me (on Fedora & Alpine) after this commit.

Error: wrong-type-argument (stringp nil)
  string-match(":+" nil 0)
  split-string(nil ":+" t)
  #f(lambda () [t] "" (split-string (getenv "BIBINPUTS") ":+" t))()
  funcall(#f(lambda () [t] "" (split-string (getenv "BIBINPUTS") ":+" t)))
  eval((funcall #'#f(lambda () [t] "" (split-string (getenv "BIBINPUTS") ":+" 
t))))
  custom-initialize-reset(bibtex-string-file-path (funcall #'#f(lambda () [t] 
"" (split-string (getenv "BIBINPUTS") ":+" t))))
  custom-declare-variable(bibtex-string-file-path (funcall #'#f(lambda () [t] 
"" (split-string (getenv "BIBINPUTS") ":+" t))) "List of directories to search 
for `bibtex-string-files'.\nBy default, initialized from the BIBINPUTS 
environment variable.\nFor backward compatibility, considered obsolete, it may 
also be\na single string with a colon separated list of directories." :group 
bibtex :version "31.1" :type (choice (repeat directory) (string :tag "String 
(obsolete)") (const :tag "Not set" nil)))
  eval-buffer(#<buffer  *load*-5331> nil 
"/home/build/emacs/lisp/textmodes/bibtex.el" nil t)
  load-with-code-conversion("/home/build/emacs/lisp/textmodes/bibtex.el" 
"/home/build/emacs/lisp/textmodes/bibtex.el" nil t)
  require(bibtex)
  eval-buffer(#<buffer  *load*> nil "/home/build/emacs/lisp/org/oc-basic.el" 
nil t)
  load-with-code-conversion("/home/build/emacs/lisp/org/oc-basic.el" 
"/home/build/emacs/lisp/org/oc-basic.el" t t)
  require(oc-basic nil t)
  org-cite-try-load-processor(basic)
  (if (null org-cite-activate-processor) nil (org-cite-try-load-processor 
org-cite-activate-processor))
  (progn (if (null org-cite-activate-processor) nil 
(org-cite-try-load-processor org-cite-activate-processor)) '(org-cite-activate))
  (list '(org-font-lock-hook) (cons (if org-fontify-whole-heading-line 
"^\\(\\**\\)\\(\\* \\)\\(.*\n?\\)" "^\\(\\**\\)\\(\\* \\)\\(.*\\)") '((1 
(org-get-level-face 1)) (2 (org-get-level-face 2)) (3 (org-get-level-face 3)))) 
'("^[ \11]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)\n?" (0 'org-table-row t) (1 
'org-table t)) '("^[ \11]*|\\(?:.*?|\\)? *\\(:?=[^|\n]*\\)" (1 'org-formula t)) 
'("^[ \11]*| *\\([#*]\\) *|" (1 'org-formula t)) '("^[ \11]*|\\( *\\([$!_^/]\\) 
*|.*\\)|" (1 'org-formula t)) '("| *\\(<[lrc]?[0-9]*>\\)" (1 'org-formula t)) 
(list org-property-re '(1 'org-special-keyword t) '(3 'org-property-value t)) 
'(org-fontify-drawers) '("^&?%%(.*\\|<%%([^>\n]*?>" (0 'org-sexp-date t)) 
'(org-activate-links) (if (memq 'tag org-highlight-links) (progn 
'(org-activate-tags (1 'org-tag prepend)))) (if (memq 'radio 
org-highlight-links) (progn '(org-activate-target-links (1 'org-link 
prepend)))) (if (memq 'date org-highlight-links) (progn '(org-activate-dates (0 
'org-date prepend)))) (if (memq 'footnote org-highlight-links) (progn 
'(org-activate-footnote-links))) (list org-radio-target-regexp '(0 'org-target 
prepend)) (list org-target-regexp '(0 'org-target prepend)) 
'(org-fontify-macros) (list (format org-heading-keyword-regexp-format 
org-todo-regexp) '(2 (org-get-todo-face 2) prepend)) (if 
org-fontify-todo-headline (progn (list (format 
org-heading-keyword-regexp-format (concat "\\(?:" (mapconcat 'regexp-quote 
org-not-done-keywords "\\|") "\\)")) '(2 'org-headline-todo prepend)))) (if 
org-fontify-done-headline (progn (list (format 
org-heading-keyword-regexp-format (concat "\\(?:" (mapconcat 'regexp-quote 
org-done-keywords "\\|") "\\)")) '(2 'org-headline-done prepend)))) 
'(org-font-lock-add-priority-faces) '(org-font-lock-add-tag-faces) (if (and 
org-group-tags org-tag-groups-alist) (progn (list (concat 
org-outline-regexp-bol ".+\\(:" (regexp-opt (mapcar 'car org-tag-groups-alist)) 
":\\).*$") '(1 'org-tag-group prepend)))) (list (concat "\\<" 
org-deadline-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-scheduled-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-closed-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-clock-string) '(0 'org-special-keyword t)) (if org-fontify-emphasized-text 
(progn '(org-do-emphasis-faces))) (cons org-list-full-item-re '(3 'org-checkbox 
prepend lax)) (if (cdr (assq 'checkbox org-list-automatic-rules)) (progn 
'("\\[\\([0-9]*%\\)\\]\\|\\[\\([0-9]*\\)/\\([0-9]*\\)\\]" (0 
(org-get-checkbox-statistics-face) prepend)))) '("\\(?:^[ \11]*[-+]\\|^[ 
\11]+[*]\\)[ \11]+\\(.*?[ \11]+::\\)\\([ \11]+\\|$\\)" 1 'org-list-dt prepend) 
'("\\(@@\\)\\([a-z-]+:\\).*?\\(@@\\)" (1 'font-lock-comment-face prepend) (2 
'org-tag prepend) (3 'font-lock-comment-face prepend)) (list (concat 
org-outline-regexp-bol "\\(.*:" org-archive-tag ":.*\\)") '(1 'org-archived 
prepend)) '(org-do-latex-and-related) '(org-fontify-entities) 
'(org-raise-scripts) '(org-activate-code (1 'org-code prepend)) 
'(org-fontify-meta-lines-and-blocks) '(org-fontify-inline-src-blocks) (progn 
(if (null org-cite-activate-processor) nil (org-cite-try-load-processor 
org-cite-activate-processor)) '(org-cite-activate)) (list (format "^\\*+\\(?: 
+%s\\)?\\(?: +\\[#[A-Z0-9]\\]\\)? +\\(?9:%s\\)\\(?: \\|$\\)" org-todo-regexp 
org-comment-string) '(9 'org-special-keyword prepend)) '(org-activate-folds))
  (let ((org-font-lock-extra-keywords (list '(org-font-lock-hook) (cons (if 
org-fontify-whole-heading-line "^\\(\\**\\)\\(\\* \\)\\(.*\n?\\)" 
"^\\(\\**\\)\\(\\* \\)\\(.*\\)") '((1 (org-get-level-face 1)) (2 
(org-get-level-face 2)) (3 (org-get-level-face 3)))) '("^[ 
\11]*\\(\\(|\\|\\+-[-+]\\).*\\S-\\)\n?" (0 'org-table-row t) (1 'org-table t)) 
'("^[ \11]*|\\(?:.*?|\\)? *\\(:?=[^|\n]*\\)" (1 'org-formula t)) '("^[ \11]*| 
*\\([#*]\\) *|" (1 'org-formula t)) '("^[ \11]*|\\( *\\([$!_^/]\\) *|.*\\)|" (1 
'org-formula t)) '("| *\\(<[lrc]?[0-9]*>\\)" (1 'org-formula t)) (list 
org-property-re '(1 'org-special-keyword t) '(3 'org-property-value t)) 
'(org-fontify-drawers) '("^&?%%(.*\\|<%%([^>\n]*?>" (0 'org-sexp-date t)) 
'(org-activate-links) (if (memq 'tag org-highlight-links) (progn 
'(org-activate-tags (1 'org-tag prepend)))) (if (memq 'radio 
org-highlight-links) (progn '(org-activate-target-links (1 'org-link 
prepend)))) (if (memq 'date org-highlight-links) (progn '(org-activate-dates (0 
'org-date prepend)))) (if (memq 'footnote org-highlight-links) (progn 
'(org-activate-footnote-links))) (list org-radio-target-regexp '(0 'org-target 
prepend)) (list org-target-regexp '(0 'org-target prepend)) 
'(org-fontify-macros) (list (format org-heading-keyword-regexp-format 
org-todo-regexp) '(2 (org-get-todo-face 2) prepend)) (if 
org-fontify-todo-headline (progn (list (format 
org-heading-keyword-regexp-format (concat "\\(?:" (mapconcat 'regexp-quote 
org-not-done-keywords "\\|") "\\)")) '(2 'org-headline-todo prepend)))) (if 
org-fontify-done-headline (progn (list (format 
org-heading-keyword-regexp-format (concat "\\(?:" (mapconcat 'regexp-quote 
org-done-keywords "\\|") "\\)")) '(2 'org-headline-done prepend)))) 
'(org-font-lock-add-priority-faces) '(org-font-lock-add-tag-faces) (if (and 
org-group-tags org-tag-groups-alist) (progn (list (concat 
org-outline-regexp-bol ".+\\(:" (regexp-opt (mapcar 'car org-tag-groups-alist)) 
":\\).*$") '(1 'org-tag-group prepend)))) (list (concat "\\<" 
org-deadline-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-scheduled-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-closed-string) '(0 'org-special-keyword t)) (list (concat "\\<" 
org-clock-string) '(0 'org-special-keyword t)) (if org-fontify-emphasized-text 
(progn '(org-do-emphasis-faces))) (cons org-list-full-item-re '(3 'org-checkbox 
prepend lax)) (if (cdr (assq 'checkbox org-list-automatic-rules)) (progn 
'("\\[\\([0-9]*%\\)\\]\\|\\[\\([0-9]*\\)/\\([0-9]*\\)\\]" (0 
(org-get-checkbox-statistics-face) prepend)))) '("\\(?:^[ \11]*[-+]\\|^[ 
\11]+[*]\\)[ \11]+\\(.*?[ \11]+::\\)\\([ \11]+\\|$\\)" 1 'org-list-dt prepend) 
'("\\(@@\\)\\([a-z-]+:\\).*?\\(@@\\)" (1 'font-lock-comment-face prepend) (2 
'org-tag prepend) (3 'font-lock-comment-face prepend)) (list (concat 
org-outline-regexp-bol "\\(.*:" org-archive-tag ":.*\\)") '(1 'org-archived 
prepend)) '(org-do-latex-and-related) '(org-fontify-entities) 
'(org-raise-scripts) '(org-activate-code (1 'org-code prepend)) 
'(org-fontify-meta-lines-and-blocks) '(org-fontify-inline-src-blocks) (progn 
(if (null org-cite-activate-processor) nil (org-cite-try-load-processor 
org-cite-activate-processor)) '(org-cite-activate)) (list (format "^\\*+\\(?: 
+%s\\)?\\(?: +\\[#[A-Z0-9]\\]\\)? +\\(?9:%s\\)\\(?: \\|$\\)" org-todo-regexp 
org-comment-string) '(9 'org-special-keyword prepend)) '(org-activate-folds)))) 
(setq org-font-lock-extra-keywords (delq nil org-font-lock-extra-keywords)) 
(run-hooks 'org-font-lock-set-keywords-hook) (set (make-local-variable 
'org-font-lock-keywords) org-font-lock-extra-keywords) (set 
(make-local-variable 'font-lock-defaults) '(org-font-lock-keywords t nil nil 
backward-paragraph)) (set (make-local-variable 
'font-lock-extend-after-change-region-function) #'org-fontify-extend-region) 
(kill-local-variable 'font-lock-keywords) nil)
  org-set-font-lock-defaults()
  (let ((delay-mode-hooks t)) (outline-mode) (setq major-mode 'org-mode) (setq 
mode-name "Org") (progn (if (get 'outline-mode 'mode-class) (put 'org-mode 
'mode-class (get 'outline-mode 'mode-class))) (if (keymap-parent org-mode-map) 
nil (set-keymap-parent org-mode-map (current-local-map))) (let ((parent 
(char-table-parent org-mode-syntax-table))) (if (and parent (not (eq parent 
(standard-syntax-table)))) nil (set-char-table-parent org-mode-syntax-table 
(syntax-table)))) (if (or (abbrev-table-get org-mode-abbrev-table :parents) (eq 
org-mode-abbrev-table local-abbrev-table)) nil (abbrev-table-put 
org-mode-abbrev-table :parents (list local-abbrev-table)))) (use-local-map 
org-mode-map) (set-syntax-table org-mode-syntax-table) (setq local-abbrev-table 
org-mode-abbrev-table) (set (make-local-variable 'org-mode-loading) t) (set 
(make-local-variable 'tab-width) 8) (org-load-modules-maybe) (if 
org-agenda-file-menu-enabled (progn (org-install-agenda-files-menu))) (set 
(make-local-variable 'outline-regexp) org-outline-regexp) (set 
(make-local-variable 'outline-level) 'org-outline-level) 
(org-element-cache-reset) (if (and org-element-cache-persistent 
org-element-use-cache) (progn (org-persist-load (list '(elisp 
org-element--cache) (list 'version org-element-cache-version)) (current-buffer) 
'match-hash :read-related t))) (org-set-regexps-and-options) 
(add-to-invisibility-spec '(org-link)) (org-fold-initialize (or (and (stringp 
org-ellipsis) (not (equal "" org-ellipsis)) org-ellipsis) "...")) 
(make-local-variable 'org-link-descriptive) (if (eq org-fold-core-style 
'overlays) (progn (add-to-invisibility-spec '(org-hide-block . t)))) (if (and 
(stringp org-ellipsis) (not (equal "" org-ellipsis))) (progn (if 
org-display-table nil (setq org-display-table (make-display-table))) 
(set-display-table-slot org-display-table 4 (vconcat (mapcar #'(lambda (c) 
(make-glyph-code c 'org-ellipsis)) org-ellipsis))) (setq buffer-display-table 
org-display-table))) (org-set-font-lock-defaults) (if (and org-tag-faces (not 
org-tags-special-faces-re)) (progn (org-set-tag-faces 'org-tag-faces 
org-tag-faces))) (set (make-local-variable 'calc-embedded-open-mode) "# ") 
(set-syntax-table (make-syntax-table org-mode-syntax-table)) (set 
(make-local-variable 'font-lock-unfontify-region-function) 
'org-unfontify-region) (set (make-local-variable 'org-table-may-need-update) t) 
(add-hook 'before-change-functions 'org-before-change-function nil 'local) 
(add-hook 'kill-buffer-hook 'org-check-running-clock nil 'local) 
(org-fold--advice-edit-commands) (org-macro-initialize-templates) 
(org-update-radio-target-regexp) (set (make-local-variable 
'indent-line-function) 'org-indent-line) (set (make-local-variable 
'indent-region-function) 'org-indent-region) (org-setup-filling) 
(org-setup-comments-handling) (set (make-local-variable 
'beginning-of-defun-function) 'org-backward-element) (set (make-local-variable 
'end-of-defun-function) #'(lambda nil (if (not (org-at-heading-p)) 
(org-forward-element) (org-forward-element) (forward-char -1)))) (set 
(make-local-variable 'next-error-function) 'org-occur-next-match) (set 
(make-local-variable 'add-log-current-defun-function) 
#'org-add-log-current-headline) (if org-enforce-todo-dependencies (add-hook 
'org-blocker-hook 'org-block-todo-from-children-or-siblings-or-parent) 
(remove-hook 'org-blocker-hook 
'org-block-todo-from-children-or-siblings-or-parent)) (if 
org-enforce-todo-checkbox-dependencies (add-hook 'org-blocker-hook 
'org-block-todo-from-checkboxes) (remove-hook 'org-blocker-hook 
'org-block-todo-from-checkboxes)) (set (make-local-variable 
'align-mode-rules-list) '((org-in-buffer-settings (regexp . "^[ 
\11]*#\\+[A-Z_]+:\\(\\s-*\\)\\S-+") (modes quote (org-mode))))) (set 
(make-local-variable 'pcomplete-command-completion-function) 
#'org-pcomplete-initial) (set (make-local-variable 
'pcomplete-command-name-function) #'org-command-at-point) (set 
(make-local-variable 'pcomplete-default-completion-function) #'ignore) (set 
(make-local-variable 'pcomplete-parse-arguments-function) 
#'org-parse-arguments) (set (make-local-variable 'pcomplete-termination-string) 
"") (add-hook 'completion-at-point-functions #'pcomplete-completions-at-point 
nil t) (set (make-local-variable 'buffer-face-mode-face) 'org-default) (if 
(boundp 'thing-at-point-provider-alist) (progn (set (make-local-variable 
'thing-at-point-provider-alist) (cons '(url . org--link-at-point) 
thing-at-point-provider-alist)))) (if (boundp 'forward-thing-provider-alist) 
(progn (set (make-local-variable 'forward-thing-provider-alist) (cons '(url . 
org-next-link) forward-thing-provider-alist)))) (if (boundp 
'bounds-of-thing-at-point-provider-alist) (progn (set (make-local-variable 
'bounds-of-thing-at-point-provider-alist) (cons '(url . 
org--bounds-of-link-at-point) bounds-of-thing-at-point-provider-alist)))) (if 
(and org-insert-mode-line-in-empty-file (called-interactively-p 'any) (= 
(point-min) (point-max))) (progn (insert "#    -*- mode: org -*-\n\n"))) (if 
org-inhibit-startup nil (if (or org-startup-align-all-tables 
org-startup-shrink-all-tables) (progn (org-table-map-tables (cond ((and 
org-startup-align-all-tables org-startup-shrink-all-tables) #'(lambda nil 
(org-table-align) (org-table-shrink))) (org-startup-align-all-tables 
#'org-table-align) (t #'org-table-shrink)) t))) (let ((--was-modified 
(buffer-modified-p))) (unwind-protect (let ((buffer-undo-list t) 
(inhibit-modification-hooks t)) (if org-startup-with-beamer-mode (progn 
(org-beamer-mode))) (if org-startup-with-inline-images (progn 
(org-display-inline-images))) (if org-startup-with-latex-preview (progn 
(org-latex-preview '(16)))) (if org-inhibit-startup-visibility-stuff nil 
(org-cycle-set-startup-visibility)) (if org-startup-truncated (progn (setq 
truncate-lines t))) (if org-startup-numerated (progn (require 'org-num) 
(org-num-mode 1))) (if org-startup-indented (progn (require 'org-indent) 
(org-indent-mode 1)))) (set-buffer-modified-p --was-modified)))) (let ((oldmap 
(cdr (assoc 'visual-line-mode minor-mode-map-alist))) (newmap 
(make-sparse-keymap))) (set-keymap-parent newmap oldmap) (define-key newmap 
[remap move-beginning-of-line] nil) (define-key newmap [remap move-end-of-line] 
nil) (define-key newmap [remap kill-line] nil) (make-local-variable 
'minor-mode-overriding-map-alist) (setq minor-mode-overriding-map-alist (cons 
(cons 'visual-line-mode newmap) minor-mode-overriding-map-alist))) (if 
org-table-header-line-p (progn (org-table-header-line-mode 1))) (let 
((foreground (org-find-invisible-foreground))) (if foreground (progn 
(set-face-foreground 'org-hide foreground)))) (org--set-faces-extend 
'(org-block-begin-line org-block-end-line) 
org-fontify-whole-block-delimiter-line) (org--set-faces-extend org-level-faces 
org-fontify-whole-heading-line) (set (make-local-variable 'org-mode-loading) 
nil) (org-setup-yank-dnd-handlers))
  (progn (make-local-variable 'delay-mode-hooks) (let ((delay-mode-hooks t)) 
(outline-mode) (setq major-mode 'org-mode) (setq mode-name "Org") (progn (if 
(get 'outline-mode 'mode-class) (put 'org-mode 'mode-class (get 'outline-mode 
'mode-class))) (if (keymap-parent org-mode-map) nil (set-keymap-parent 
org-mode-map (current-local-map))) (let ((parent (char-table-parent 
org-mode-syntax-table))) (if (and parent (not (eq parent 
(standard-syntax-table)))) nil (set-char-table-parent org-mode-syntax-table 
(syntax-table)))) (if (or (abbrev-table-get org-mode-abbrev-table :parents) (eq 
org-mode-abbrev-table local-abbrev-table)) nil (abbrev-table-put 
org-mode-abbrev-table :parents (list local-abbrev-table)))) (use-local-map 
org-mode-map) (set-syntax-table org-mode-syntax-table) (setq local-abbrev-table 
org-mode-abbrev-table) (set (make-local-variable 'org-mode-loading) t) (set 
(make-local-variable 'tab-width) 8) (org-load-modules-maybe) (if 
org-agenda-file-menu-enabled (progn (org-install-agenda-files-menu))) (set 
(make-local-variable 'outline-regexp) org-outline-regexp) (set 
(make-local-variable 'outline-level) 'org-outline-level) 
(org-element-cache-reset) (if (and org-element-cache-persistent 
org-element-use-cache) (progn (org-persist-load (list '(elisp 
org-element--cache) (list 'version org-element-cache-version)) (current-buffer) 
'match-hash :read-related t))) (org-set-regexps-and-options) 
(add-to-invisibility-spec '(org-link)) (org-fold-initialize (or (and (stringp 
org-ellipsis) (not (equal "" org-ellipsis)) org-ellipsis) "...")) 
(make-local-variable 'org-link-descriptive) (if (eq org-fold-core-style 
'overlays) (progn (add-to-invisibility-spec '(org-hide-block . t)))) (if (and 
(stringp org-ellipsis) (not (equal "" org-ellipsis))) (progn (if 
org-display-table nil (setq org-display-table (make-display-table))) 
(set-display-table-slot org-display-table 4 (vconcat (mapcar #'(lambda (c) 
(make-glyph-code c 'org-ellipsis)) org-ellipsis))) (setq buffer-display-table 
org-display-table))) (org-set-font-lock-defaults) (if (and org-tag-faces (not 
org-tags-special-faces-re)) (progn (org-set-tag-faces 'org-tag-faces 
org-tag-faces))) (set (make-local-variable 'calc-embedded-open-mode) "# ") 
(set-syntax-table (make-syntax-table org-mode-syntax-table)) (set 
(make-local-variable 'font-lock-unfontify-region-function) 
'org-unfontify-region) (set (make-local-variable 'org-table-may-need-update) t) 
(add-hook 'before-change-functions 'org-before-change-function nil 'local) 
(add-hook 'kill-buffer-hook 'org-check-running-clock nil 'local) 
(org-fold--advice-edit-commands) (org-macro-initialize-templates) 
(org-update-radio-target-regexp) (set (make-local-variable 
'indent-line-function) 'org-indent-line) (set (make-local-variable 
'indent-region-function) 'org-indent-region) (org-setup-filling) 
(org-setup-comments-handling) (set (make-local-variable 
'beginning-of-defun-function) 'org-backward-element) (set (make-local-variable 
'end-of-defun-function) #'(lambda nil (if (not (org-at-heading-p)) 
(org-forward-element) (org-forward-element) (forward-char -1)))) (set 
(make-local-variable 'next-error-function) 'org-occur-next-match) (set 
(make-local-variable 'add-log-current-defun-function) 
#'org-add-log-current-headline) (if org-enforce-todo-dependencies (add-hook 
'org-blocker-hook 'org-block-todo-from-children-or-siblings-or-parent) 
(remove-hook 'org-blocker-hook 
'org-block-todo-from-children-or-siblings-or-parent)) (if 
org-enforce-todo-checkbox-dependencies (add-hook 'org-blocker-hook 
'org-block-todo-from-checkboxes) (remove-hook 'org-blocker-hook 
'org-block-todo-from-checkboxes)) (set (make-local-variable 
'align-mode-rules-list) '((org-in-buffer-settings (regexp . "^[ 
\11]*#\\+[A-Z_]+:\\(\\s-*\\)\\S-+") (modes quote (org-mode))))) (set 
(make-local-variable 'pcomplete-command-completion-function) 
#'org-pcomplete-initial) (set (make-local-variable 
'pcomplete-command-name-function) #'org-command-at-point) (set 
(make-local-variable 'pcomplete-default-completion-function) #'ignore) (set 
(make-local-variable 'pcomplete-parse-arguments-function) 
#'org-parse-arguments) (set (make-local-variable 'pcomplete-termination-string) 
"") (add-hook 'completion-at-point-functions #'pcomplete-completions-at-point 
nil t) (set (make-local-variable 'buffer-face-mode-face) 'org-default) (if 
(boundp 'thing-at-point-provider-alist) (progn (set (make-local-variable 
'thing-at-point-provider-alist) (cons '(url . org--link-at-point) 
thing-at-point-provider-alist)))) (if (boundp 'forward-thing-provider-alist) 
(progn (set (make-local-variable 'forward-thing-provider-alist) (cons '(url . 
org-next-link) forward-thing-provider-alist)))) (if (boundp 
'bounds-of-thing-at-point-provider-alist) (progn (set (make-local-variable 
'bounds-of-thing-at-p  ELC      dirtrack.elc
oint-provider-alist) (cons '(url . org--bounds-of-link-at-point) 
bounds-of-thing-at-point-provider-alist)))) (if (and 
org-insert-mode-line-in-empty-file (called-interactively-p 'any) (= (point-min) 
(point-max))) (progn (insert "#    -*- mode: org -*-\n\n"))) (if 
org-inhibit-startup nil (if (or org-startup-align-all-tables 
org-startup-shrink-all-tables) (progn (org-table-map-tables (cond ((and 
org-startup-align-all-tables org-startup-shrink-all-tables) #'(lambda nil 
(org-table-align) (org-table-shrink))) (org-startup-align-all-tables 
#'org-table-align) (t #'org-table-shrink)) t))) (let ((--was-modified 
(buffer-modified-p))) (unwind-protect (let ((buffer-undo-list t) 
(inhibit-modification-hooks t)) (if org-startup-with-beamer-mode (progn 
(org-beamer-mode))) (if org-startup-with-inline-images (progn 
(org-display-inline-images))) (if org-startup-with-latex-preview (progn 
(org-latex-preview '(16)))) (if org-inhibit-startup-visibility-stuff nil 
(org-cycle-set-startup-visibility)) (if org-startup-truncated (progn (setq 
truncate-lines t))) (if org-startup-numerated (progn (require 'org-num) 
(org-num-mode 1))) (if org-startup-indented (progn (require 'org-indent) 
(org-indent-mode 1)))) (set-buffer-modified-p --was-modified)))) (let ((oldmap 
(cdr (assoc 'visual-line-mode minor-mode-map-alist))) (newmap 
(make-sparse-keymap))) (set-keymap-parent newmap oldmap) (define-key newmap 
[remap move-beginning-of-line] nil) (define-key newmap [remap move-end-of-line] 
nil) (define-key newmap [remap kill-line] nil) (make-local-variable 
'minor-mode-overriding-map-alist) (setq minor-mode-overriding-map-alist (cons 
(cons 'visual-line-mode newmap) minor-mode-overriding-map-alist))) (if 
org-table-header-line-p (progn (org-table-header-line-mode 1))) (let 
((foreground (org-find-invisible-foreground))) (if foreground (progn 
(set-face-foreground 'org-hide foreground)))) (org--set-faces-extend 
'(org-block-begin-line org-block-end-line) 
org-fontify-whole-block-delimiter-line) (org--set-faces-extend org-level-faces 
org-fontify-whole-heading-line) (sWrong type argument: stringp, nil
et (make-local-variable 'org-mode-loading) nil) (org-setup-yank-dnd-handlers)))
  org-mode()
  #f(compiled-function () #<bytecode -0xb2a2671276e2737>)()
  org-element-copy-buffer(:to-buffer nil :drop-visibility nil :drop-narrowing 
nil :drop-contents nil :drop-locals nil)
  org-export-as(texinfo nil nil nil (:output-file "org.texi"))
  org-export-to-file(texinfo "org.texi")
  org-texinfo-export-to-texinfo-batch()
  command-line-1(("--eval" "(setq load-prefer-newer t)" "-l" "ox-texinfo" 
"--eval" "(setq gc-cons-threshold 50000000)" "--eval" "(setq 
org-confirm-babel-evaluate nil)" "--eval" "(setq org-id-track-globally nil)" 
"-f" "org-texinfo-export-to-texinfo-batch" "org.org" "org.texi"))
  command-line()
  normal-top-level()
make[4]: *** [Makefile:258: org.texi] Error 255
make[4]: Leaving directory '/home/build/emacs/doc/misc'
make[3]: *** [Makefile:177: org-manuals] Error 2
make[3]: *** Waiting for unfinished jobs....

On Sun, Jan 12, 2025, at 3:18 PM, Roland Winkler wrote:
> branch: master
> commit 14b5ba7c61fd8fb1e2c8fe956ee925b4a59c10c8
> Author: Roland Winkler <winkler@gnu.org>
> Commit: Roland Winkler <winkler@gnu.org>
>
>     bibtex-string-file-path and bibtex-file-path are lists of directories
>    
>     * lisp/textmodes/bibtex.el (bibtex-string-file-path, 
> bibtex-file-path):
>     These user options are now lists of directories.  For backward 
> compatibility,
>     the old, obsolete format is still supported.
>     (bibtex-string-files-init, bibtex-initialize): Change accordingly.
>     Use file-name-extension and file-name-with-extension.
>     * etc/NEWS: Entry for new format of bibtex-string-file-path and
>     bibtex-file-path.
> ---
>  etc/NEWS                 |   5 +++
>  lisp/textmodes/bibtex.el | 110 
> +++++++++++++++++++++++++++--------------------
>  2 files changed, 69 insertions(+), 46 deletions(-)
>
> diff --git a/etc/NEWS b/etc/NEWS
> index d017c872fa3..62b90aa11aa 100644
> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -826,6 +826,11 @@ Use 'bibtex-aux-opt-alist' instead.
>  *** New user option 'bibtex-entry-ask-for-key'.
>  When enabled, 'bibtex-entry' asks for a key.
> 
> +---
> +*** 'bibtex-string-file-path' and 'bibtex-file-path' are lists of 
> directories.
> +For backward compatibility, considered obsolete, these user options
> +may still be strings with colon separated lists of directories.
> +
>  ** Midnight mode
> 
>  ---
> diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
> index 601331cbce2..83d8f2e6e70 100644
> --- a/lisp/textmodes/bibtex.el
> +++ b/lisp/textmodes/bibtex.el
> @@ -1095,13 +1095,16 @@ to the directories specified in 
> `bibtex-string-file-path'."
>    :group 'bibtex
>    :type '(repeat file))
> 
> -(defcustom bibtex-string-file-path (getenv "BIBINPUTS")
> -  "Colon-separated list of paths to search for `bibtex-string-files'.
> -Initialized from the BIBINPUTS environment variable."
> +(defcustom bibtex-string-file-path (split-string (getenv "BIBINPUTS") ":+" t)
> +  "List of directories to search for `bibtex-string-files'.
> +By default, initialized from the BIBINPUTS environment variable.
> +For backward compatibility, considered obsolete, it may also be
> +a single string with a colon separated list of directories."
>    :group 'bibtex
> -  :version "27.1"
> -  :type '(choice string
> -                 (const :tag "Not Set" nil)))
> +  :version "31.1"
> +  :type '(choice (repeat directory)
> +                 (string :tag "String (obsolete)")
> +                 (const :tag "Not set" nil)))
> 
>  (defcustom bibtex-files nil
>    "List of BibTeX files that are searched for entry keys.
> @@ -1114,13 +1117,16 @@ See also `bibtex-search-entry-globally'."
>    :type '(repeat (choice (const :tag "bibtex-file-path" bibtex-file-path)
>                           directory file)))
> 
> -(defcustom bibtex-file-path (getenv "BIBINPUTS")
> -  "Colon separated list of paths to search for `bibtex-files'.
> -Initialized from the BIBINPUTS environment variable."
> +(defcustom bibtex-file-path (split-string (getenv "BIBINPUTS") ":+" t)
> +  "List of directories to search for `bibtex-files'.
> +By default, initialized from the BIBINPUTS environment variable.
> +For backward compatibility, considered obsolete, it may also be
> +a single string with a colon separated list of directories."
>    :group 'bibtex
> -  :version "27.1"
> -  :type '(choice string
> -                 (const :tag "Not Set" nil)))
> +  :version "31.1"
> +  :type '(choice (repeat directory)
> +                 (string :tag "String (obsolete)")
> +                 (const :tag "Not set" nil)))
> 
>  (defcustom bibtex-search-entry-globally nil
>    "If non-nil, interactive calls of `bibtex-search-entry' search 
> globally.
> @@ -3195,30 +3201,35 @@ Return alist of strings if parsing was 
> completed, `aborted' otherwise."
> 
>  (defun bibtex-string-files-init ()
>    "Return initialization for `bibtex-strings'.
> -Use `bibtex-predefined-strings' and BibTeX files 
> `bibtex-string-files'."
> -  (save-match-data
> -    (let ((dirlist (split-string (or bibtex-string-file-path 
> default-directory)
> -                                 ":+"))
> -          (case-fold-search)
> -          string-files fullfilename compl bounds found)
> -      ;; collect absolute file names of valid string files
> -      (dolist (filename bibtex-string-files)
> -        (unless (string-match "\\.bib\\'" filename)
> -          (setq filename (concat filename ".bib")))
> -        ;; test filenames
> -        (if (file-name-absolute-p filename)
> -            (if (file-readable-p filename)
> -                (push filename string-files)
> -              (user-error "BibTeX strings file %s not found" filename))
> +Use `bibtex-predefined-strings' and BibTeX files `bibtex-string-files'
> +with `bibtex-string-file-path'."
> +  (let ((dirlist
> +         (or (if (stringp bibtex-string-file-path) ; obsolete format
> +                 (save-match-data
> +                   (split-string bibtex-string-file-path ":+" t))
> +               bibtex-string-file-path)
> +             (list default-directory)))
> +        string-files)
> +    ;; collect absolute file names of valid string files
> +    (dolist (filename bibtex-string-files)
> +      (unless (string= "bib" (file-name-extension filename))
> +        (setq filename (file-name-with-extension filename "bib")))
> +      ;; test filenames
> +      (if (file-name-absolute-p filename)
> +          (if (file-readable-p filename)
> +              (push filename string-files)
> +            (user-error "BibTeX strings file %s not found" filename))
> +        (let (found)
>            (dolist (dir dirlist)
> -            (when (file-readable-p
> -                   (setq fullfilename (expand-file-name filename dir)))
> -              (push fullfilename string-files)
> -              (setq found t)))
> +            ;; filename may exist in multiple directories
> +            (let ((fullfilename (expand-file-name filename dir)))
> +              (when (file-readable-p fullfilename)
> +                (push fullfilename string-files)
> +                (setq found t))))
>            (unless found
> -            (user-error "File %s not in paths defined via 
> bibtex-string-file-path"
> -                        filename))))
> -      ;; parse string files
> +            (user-error "File %s not in bibtex-string-file-path" 
> filename)))))
> +    ;; parse string files
> +    (let (compl bounds)
>        (dolist (filename string-files)
>          (with-temp-buffer
>            (insert-file-contents filename)
> @@ -3270,9 +3281,20 @@ already set.  If SELECT is non-nil interactively 
> select a BibTeX buffer.
>  When called interactively, FORCE is t, CURRENT is t if current buffer
>  visits a file using `bibtex-mode', and SELECT is t if current buffer
>  does not use `bibtex-mode'."
> -  (interactive (list (eq major-mode 'bibtex-mode) t
> +  ;; Interactively, exclude current buffer if it does not visit a file
> +  ;; using `bibtex-mode'.  This way, we exclude BibTeX buffers such as
> +  ;; `bibtex-search-buffer' that are not visiting a BibTeX file.
> +  ;; Also, calling `bibtex-initialize' gives meaningful results for any
> +  ;; current buffer.
> +  (interactive (list (eq major-mode 'bibtex-mode)
> +                     (and buffer-file-name (eq major-mode 
> 'bibtex-mode))
>                       (not (eq major-mode 'bibtex-mode))))
> -  (let ((file-path (split-string (or bibtex-file-path 
> default-directory) ":+"))
> +  (let ((file-path
> +         (or (if (stringp bibtex-file-path) ; obsolete format
> +                 (save-match-data
> +                   (split-string bibtex-file-path ":+" t))
> +               bibtex-file-path)
> +             (list default-directory)))
>          file-list dir-list buffer-list)
>      ;; generate list of BibTeX files
>      (dolist (file bibtex-files)
> @@ -3280,20 +3302,20 @@ does not use `bibtex-mode'."
>               (setq dir-list (append dir-list file-path)))
>              ((file-accessible-directory-p file)
>               (push file dir-list))
> -            ((progn (unless (string-match "\\.bib\\'" file)
> -                      (setq file (concat file ".bib")))
> +            ((progn (unless (string= "bib" (file-name-extension file))
> +                      (setq file (file-name-with-extension file 
> "bib")))
>                      (file-name-absolute-p file))
>               (push file file-list))
>              (t
>               (let (expanded-file-name found)
>                 (dolist (dir file-path)
> +                 ;; filename may exist in multiple directories
>                   (when (file-readable-p
>                          (setq expanded-file-name (expand-file-name 
> file dir)))
>                     (push expanded-file-name file-list)
>                     (setq found t)))
>                 (unless found
> -                 (user-error "File `%s' not in paths defined via 
> bibtex-file-path"
> -                             file))))))
> +                 (user-error "File `%s' not in bibtex-file-path" 
> file))))))
>      (dolist (file file-list)
>        (unless (file-readable-p file)
>          (user-error "BibTeX file `%s' not found" file)))
> @@ -3307,12 +3329,6 @@ does not use `bibtex-mode'."
>        (if (file-readable-p file)
>          (push (find-file-noselect file) buffer-list)))
>      ;; Include current buffer iff we want it.
> -    ;; Exclude current buffer if it does not visit a file using 
> `bibtex-mode'.
> -    ;; This way we exclude BibTeX buffers such as 
> `bibtex-search-buffer'
> -    ;; that are not visiting a BibTeX file.  Also, calling 
> `bibtex-initialize'
> -    ;; gives meaningful results for any current buffer.
> -    (unless (and current (eq major-mode 'bibtex-mode) buffer-file-name)
> -      (setq current nil))
>      (cond ((and current (not (memq (current-buffer) buffer-list)))
>             (push (current-buffer) buffer-list))
>            ((and (not current) (memq (current-buffer) buffer-list))
> @@ -3321,6 +3337,8 @@ does not use `bibtex-mode'."
>      (let (string-init)
>        (dolist (buffer buffer-list)
>          (with-current-buffer buffer
> +          ;; `bibtex-reference-keys' and `bibtex-strings' are 
> buffer-local
> +          ;; lazy completion tables.  So we only initiate them as 
> needed.
>            (if (or force (functionp bibtex-reference-keys))
>                (bibtex-parse-keys))
>            (when (or force (functionp bibtex-strings))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]