Browse Source

Merge branch 'bugfix'

Nicolas Goaziou 4 years ago
parent
commit
880d4fada6
1 changed files with 6 additions and 4 deletions
  1. 6 4
      lisp/oc-csl.el

+ 6 - 4
lisp/oc-csl.el

@@ -271,10 +271,10 @@ If nil then the Chicago author-date style is used as a fallback.")
   ;; Prior to Emacs-27.1 argument of `regexp' form must be a string literal.
   ;; It is the reason why `rx' is avoided here.
   (rx-to-string
-   `(seq word-start
+   `(seq (or line-start space)
          (regexp ,(regexp-opt (mapcar #'car org-cite-csl--label-alist) t))
          (0+ digit)
-         (or word-start line-end space ? ))
+         (or word-end line-end space " "))
    t)
   "Regexp matching a label in a citation reference suffix.
 Label is in match group 1.")
@@ -372,7 +372,7 @@ or raise an error if the variable is unset."
     ((and (guard org-cite-csl-styles-dir) file)
      (expand-file-name file org-cite-csl-styles-dir))
     (other
-     (user-error "Cannot handle relative style file name" other))))
+     (user-error "Cannot handle relative style file name: %S" other))))
 
 (defun org-cite-csl--locale-getter ()
   "Return a locale getter.
@@ -426,7 +426,9 @@ The result is a association list.  Keys are: `id', `prefix',`suffix',
        ((re-search-forward org-cite-csl--label-regexp nil t)
         (setq location-start (match-beginning 0))
         (setq label (cdr (assoc (match-string 1) org-cite-csl--label-alist)))
-        (setq locator-start (match-end 1)))
+        (goto-char (match-end 1))
+        (skip-chars-forward "[:space:] ")
+        (setq locator-start (point)))
        ((re-search-forward (rx digit) nil t)
         (setq location-start (match-beginning 0))
         (setq label "page")