yuchen-lea / org-media-note

Taking interactive notes when watching videos or listening to audios in org-mode.
GNU General Public License v3.0
243 stars 35 forks source link

void-function org-link-edit--link-data #28

Closed Elilif closed 3 years ago

Elilif commented 3 years ago

It seems org-media-note-adjust-timestamp-offset would call a void function org-link-edit--link-data. I wonder whether the function is native?

my org version: Org mode version 9.4.6 (release_9.4.6-598-g604bfd)

debug info:

Debugger entered--Lisp error: (void-function org-link-edit--link-data)
  (org-link-edit--link-data)
  (let* ((--cl-var-- (org-link-edit--link-data)) (_ (nth 0 --cl-var--)) (_ (nth 1 --cl-var--)) (link (nth 2 --cl-var--)) (_ (nth 3 --cl-var--))) (let* ((splitted (split-string link "#")) (timestamps (split-string (nth 1 splitted)))) (setq current-link-position (org-timer-hms-to-secs (nth 0 timestamps))) (setq offset (- current-playing-position current-link-position))))
  (let* ((current-playing-position (mpv-get-playback-position)) link current-link-position offset) (let* ((--cl-var-- (org-link-edit--link-data)) (_ (nth 0 --cl-var--)) (_ (nth 1 --cl-var--)) (link (nth 2 --cl-var--)) (_ (nth 3 --cl-var--))) (let* ((splitted (split-string link "#")) (timestamps (split-string (nth 1 splitted)))) (setq current-link-position (org-timer-hms-to-secs (nth 0 timestamps))) (setq offset (- current-playing-position current-link-position)))) (save-excursion (org-narrow-to-subtree) (goto-char (point-min)) (while (re-search-forward org-media-note--timestamp-pattern nil t) (let* ((beg (match-beginning 1)) (end (match-end 1)) (hms (buffer-substring beg end)) (adjusted-hms (org-media-note--seconds-to-hms (+ ... offset)))) (goto-char beg) (delete-region beg end) (insert adjusted-hms))) (widen)))
  org-media-note-adjust-timestamp-offset()
  eval((org-media-note-adjust-timestamp-offset) t)
  eval-expression((org-media-note-adjust-timestamp-offset) nil nil 127)
  funcall-interactively(eval-expression (org-media-note-adjust-timestamp-offset) nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)
  read-from-minibuffer("M-x " nil (keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) keymap (36 . ivy-magic-read-file-env) (3 keymap (19 . ivy-rotate-sort) (1 . ivy-toggle-ignore) (15 . ivy-occur)) (33554464 . ivy-restrict-to-matches) (15 . hydra-ivy/body) (22 . ivy-scroll-up-command) (prior . ivy-scroll-down-command) (next . ivy-scroll-up-command) (7 . minibuffer-keyboard-quit) (right . ivy-forward-char) (32 . self-insert-command) (18 . ivy-reverse-i-search) (remap keymap (describe-mode . ivy-help) (kill-ring-save . ivy-kill-ring-save) (kill-whole-line . ivy-kill-whole-line) (kill-line . ivy-kill-line) (scroll-down-command . ivy-scroll-down-command) (scroll-up-command . ivy-scroll-up-command) (end-of-buffer . ivy-end-of-buffer) (beginning-of-buffer . ivy-beginning-of-buffer) (kill-word . ivy-kill-word) (forward-char . ivy-forward-char) (delete-char . ivy-delete-char) (backward-kill-word . ivy-backward-kill-word) (backward-delete-char-untabify . ivy-backward-delete-char) (delete-backward-char . ivy-backward-delete-char) (previous-line . ivy-previous-line) (next-line . ivy-next-line)) (9 . ivy-partial-or-done) (10 . ivy-alt-done) (27 keymap (1 . ivy-read-action) (15 . ivy-dispatching-call) (111 . ivy-dispatching-done) (25 . ivy-insert-current-full) (105 . ivy-insert-current) (106 . ivy-yank-word) (114 . ivy-toggle-regexp-quote) (97 . ivy-toggle-marks) (16 . ivy-previous-line-and-call) (14 . ivy-next-line-and-call) (118 . ivy-scroll-down-command) (112 . ivy-previous-history-element) (110 . ivy-next-history-element) (10 . ivy-immediate-done) (13 . ivy-call)) (mouse-3 . ivy-mouse-dispatching-done) (mouse-1 . ivy-mouse-done) (down-mouse-1 . ignore) (13 . ivy-done)) nil counsel-M-x-history)
  #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS is a plist that can be used to store\ncollection-specific session-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x157a07c8fda9>)("M-x " ("edebug-defun" "debug" "toggle-debug-on-error" "org-media-note-hydra/body" "list-processes" "customize-group" "ivy-posframe-mode" "helm-bibtex" "emojify-mode" "orb-note-actions" "deft" "orb-insert-link" "org-noter" "package-delete" "+rime-convert-string-at-point" "org-timeline-export-to-html" "lispy-mode" "org-roam-capture" "lisp-interaction-mode" "package-refresh-contents" "package-install" "ibuffer" "org-publish" "mc/edit-lines" "eaf-open-browser" "org-roam-dailies-capture-today" "load-theme" "magit-todos-mode" "mc/mark-all-dwim" "mc/mark-all-like-this" "package-list-packages" "company-mode" "my-copy-simple" "org-roam-db-sync" "org-version" "describe-font" "org-ql-search" "org-roam-setup" "forward-paragraph" "pdf-tools-install" "eli/push-to-gitpage" "variable-pitch-mode" "org-roam-bibtex-mode" "toggle-truncate-lines" "emacs-lisp-macroexpand" "flyspell-mode" "org-roam-tag-add" "pdf-tools-uninstall" "org-html-htmlize-generate-css" "wttrin-cancel-display-in-mode-line" ...) :predicate counsel--M-x-externs-predicate :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS is a plist that can be used to store\ncollection-specific session-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x157a07c8fda9>) ("M-x " ("edebug-defun" "debug" "toggle-debug-on-error" "org-media-note-hydra/body" "list-processes" "customize-group" "ivy-posframe-mode" "helm-bibtex" "emojify-mode" "orb-note-actions" "deft" "orb-insert-link" "org-noter" "package-delete" "+rime-convert-string-at-point" "org-timeline-export-to-html" "lispy-mode" "org-roam-capture" "lisp-interaction-mode" "package-refresh-contents" "package-install" "ibuffer" "org-publish" "mc/edit-lines" "eaf-open-browser" "org-roam-dailies-capture-today" "load-theme" "magit-todos-mode" "mc/mark-all-dwim" "mc/mark-all-like-this" "package-list-packages" "company-mode" "my-copy-simple" "org-roam-db-sync" "org-version" "describe-font" "org-ql-search" "org-roam-setup" "forward-paragraph" "pdf-tools-install" "eli/push-to-gitpage" "variable-pitch-mode" "org-roam-bibtex-mode" "toggle-truncate-lines" "emacs-lisp-macroexpand" "flyspell-mode" "org-roam-tag-add" "pdf-tools-uninstall" "org-html-htmlize-generate-css" "wttrin-cancel-display-in-mode-line" ...) :predicate counsel--M-x-externs-predicate :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS is a plist that can be used to store\ncollection-specific session-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x157a07c8fda9>) "M-x " ("edebug-defun" "debug" "toggle-debug-on-error" "org-media-note-hydra/body" "list-processes" "customize-group" "ivy-posframe-mode" "helm-bibtex" "emojify-mode" "orb-note-actions" "deft" "orb-insert-link" "org-noter" "package-delete" "+rime-convert-string-at-point" "org-timeline-export-to-html" "lispy-mode" "org-roam-capture" "lisp-interaction-mode" "package-refresh-contents" "package-install" "ibuffer" "org-publish" "mc/edit-lines" "eaf-open-browser" "org-roam-dailies-capture-today" "load-theme" "magit-todos-mode" "mc/mark-all-dwim" "mc/mark-all-like-this" "package-list-packages" "company-mode" "my-copy-simple" "org-roam-db-sync" "org-version" "describe-font" "org-ql-search" "org-roam-setup" "forward-paragraph" "pdf-tools-install" "eli/push-to-gitpage" "variable-pitch-mode" "org-roam-bibtex-mode" "toggle-truncate-lines" "emacs-lisp-macroexpand" "flyspell-mode" "org-roam-tag-add" "pdf-tools-uninstall" "org-html-htmlize-generate-css" "wttrin-cancel-display-in-mode-line" ...) :predicate counsel--M-x-externs-predicate :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS is a plist that can be used to store\ncollection-specific session-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x157a07c8fda9>) ("M-x " ("edebug-defun" "debug" "toggle-debug-on-error" "org-media-note-hydra/body" "list-processes" "customize-group" "ivy-posframe-mode" "helm-bibtex" "emojify-mode" "orb-note-actions" "deft" "orb-insert-link" "org-noter" "package-delete" "+rime-convert-string-at-point" "org-timeline-export-to-html" "lispy-mode" "org-roam-capture" "lisp-interaction-mode" "package-refresh-contents" "package-install" "ibuffer" "org-publish" "mc/edit-lines" "eaf-open-browser" "org-roam-dailies-capture-today" "load-theme" "magit-todos-mode" "mc/mark-all-dwim" "mc/mark-all-like-this" "package-list-packages" "company-mode" "my-copy-simple" "org-roam-db-sync" "org-version" "describe-font" "org-ql-search" "org-roam-setup" "forward-paragraph" "pdf-tools-install" "eli/push-to-gitpage" "variable-pitch-mode" "org-roam-bibtex-mode" "toggle-truncate-lines" "emacs-lisp-macroexpand" "flyspell-mode" "org-roam-tag-add" "pdf-tools-uninstall" "org-html-htmlize-generate-css" "wttrin-cancel-display-in-mode-line" ...) :predicate counsel--M-x-externs-predicate :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " ("edebug-defun" "debug" "toggle-debug-on-error" "org-media-note-hydra/body" "list-processes" "customize-group" "ivy-posframe-mode" "helm-bibtex" "emojify-mode" "orb-note-actions" "deft" "orb-insert-link" "org-noter" "package-delete" "+rime-convert-string-at-point" "org-timeline-export-to-html" "lispy-mode" "org-roam-capture" "lisp-interaction-mode" "package-refresh-contents" "package-install" "ibuffer" "org-publish" "mc/edit-lines" "eaf-open-browser" "org-roam-dailies-capture-today" "load-theme" "magit-todos-mode" "mc/mark-all-dwim" "mc/mark-all-like-this" "package-list-packages" "company-mode" "my-copy-simple" "org-roam-db-sync" "org-version" "describe-font" "org-ql-search" "org-roam-setup" "forward-paragraph" "pdf-tools-install" "eli/push-to-gitpage" "variable-pitch-mode" "org-roam-bibtex-mode" "toggle-truncate-lines" "emacs-lisp-macroexpand" "flyspell-mode" "org-roam-tag-add" "pdf-tools-uninstall" "org-html-htmlize-generate-css" "wttrin-cancel-display-in-mode-line" ...) :predicate counsel--M-x-externs-predicate :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)
Elilif commented 3 years ago

Starting from 9.5, Org contrib will be distributed as a separate Org ELPA package

qingshuizheng commented 2 years ago

Hi there, just a heads-up. Want to know will there be any update on this issue?

Elilif commented 2 years ago

Hi there, just a heads-up. Want to know will there be any update on this issue?

You need install org-link-edit